【牛客练习赛53】A-超越学姐爱字符串
// 题目地址:https://ac.nowcoder.com/acm/contest/1114/A
/*
找规律(碰运气)
n:1 = 2
n:2 = 3
n:3 = 5
n:4 = 8
...
dp解法(参考牛客题解)
dp[i][0]:长度为 i, 字符最后一个字符为'c'的情况数
dp[i][1]:长度为 i, 字符最后一个字符为'y'的情况数
则有:
dp[i + 1][0] = dp[i][1]; 即每个以'p'结尾的字符串都可以加个'c'(保证不会有'c'连续)
dp[i + 1][1] = dp[i][1] + dp[i][0]; 'p'的限制没'c'大,所以在任何字符串后面加'p'都可
*/
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long LL;
const int mod = 1e9 + 7;
const int inf = 100000;
int n;
//LL num[100005];
LL dp[100005][2];
//void init(){
// num[1] = 2; num[2] = 3;
// for(int i = 3; i <= inf; i++){
// num[i] = (num[i - 1] + num[i - 2]) % mod;
// }
//}
void workindp(){
dp[1][0] = dp[1][1] = 1;
for(int i = 2; i <= inf; i++){
dp[i][0] = dp[i - 1][1];
dp[i][1] = (dp[i - 1][1] + dp[i - 1][0]) % mod;
}
}
int main()
{
// init();
workindp();
while(~scanf("%d", &n)){
// printf("%lld\n", num[n]);
printf("%lld\n", (dp[n][0] + dp[n][1]) % mod);
}
return 0;
}
【牛客练习赛53】A-超越学姐爱字符串的更多相关文章
- 牛客练习赛53 A 超越学姐爱字符串 (DP)
牛客练习赛53 超越学姐爱字符串 链接:https://ac.nowcoder.com/acm/contest/1114/A来源:牛客网 超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢" ...
- 「牛客练习赛53A」超越学姐爱字符串
更好的阅读体验 Portal Portal1: Nowcoder Description 超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢\(\textrm{"c"}\)和\(\ ...
- 牛客练习赛53 A-E
牛客联系赛53 A-E 题目链接:Link A 超越学姐爱字符串 题意: 长度为N的字符串,只能有C,Y字符,且字符串中不能连续出现 C. 思路: 其实就是DP,\(Dp[i][c]\) 表示长度为 ...
- 牛客练习赛53 D 德育分博弈政治课 (思维建图,最大流)
牛客练习赛53 D德育分博弈政治课 链接:https://ac.nowcoder.com/acm/contest/1114/D来源:牛客网 题目描述 德育分学长最近玩起了骰子.他玩的骰子不同,他的骰子 ...
- 牛客练习赛53 E 老瞎眼 pk 小鲜肉 (线段树,思维)
链接:https://ac.nowcoder.com/acm/contest/1114/E来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048 ...
- 牛客练习赛53 B 美味果冻
链接:https://ac.nowcoder.com/acm/contest/1114/B来源:牛客 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言10485 ...
- 牛客练习赛53 E-老瞎眼pk小鲜肉(思维+线段树+离线)
前言 听说是线段树离线查询?? 做题做着做着慢慢对离线操作有点感觉了,不过也还没参透,等再做些题目再来讨论离线.在线操作. 这题赛后看代码发现有人用的树状数组,$tql$.当然能用树状数组写的线段树也 ...
- 牛客练习赛53 (C 富豪凯匹配串) bitset
没想到直接拿 bitset 能过 $10^8$~ code: #include <bits/stdc++.h> #define N 1004 #define setIO(s) freope ...
- 牛客练习赛53 (E 老瞎眼 pk 小鲜肉) 线段树+离线
考试的时候切的,类似HH的项链~ code: #include <bits/stdc++.h> #define ll long long #define M 500003 #define ...
随机推荐
- mvc5 源码解析2-1:mvchandler的执行
上一节说在urlroutingmodule中mvchandler 映射到httpcontext上,那mvchandler又是怎么执行的呢? (1).httpruntime 从isapiruntime ...
- javascript(五)表达式
表达式 (expression) JavaScript中的一个短语, JavaScript解释器会将其计算(evaluate) 出一 个结果.程序中的常量是最简单的一类表达式.变量名也是一种简单的表达 ...
- Python基础10
字符串大小写转换,除了upper,lower,还有一种方法,casefold( ) 方法 比较这两种方法的适用范围
- C#实现outlook自动签名
Outlook下实现自动签名的方式 网上找到一篇资料是在outlook里用vba实现的,但是这样实现的方式由于数字认证的问题不便于部署 在此介绍一种C#下实现的方式,目前确定的outlook版本为 ...
- 7.vertical-align属性
本节学习目标: 图片.表单和旁边的文字对齐 解决图片底部默认空白缝隙问题 1.图片.表单和旁边的文字对齐 默认的图片.表单等行内元素或行内快元素是和文字的基线对齐的,但在实际情况下,我们想让他们中间对 ...
- 实现HTML调用打开本地软件文件
有时候我们想要实现一个功能,就是在HTML页面点击一个链接就能调用打开本地可执行文件.就像腾讯QQ.迅雷这种. 而实现这种功能其实也很简单,就是需要我们添加修改注册表,实现自定义URL Protoco ...
- Java 之 Set 源码分析
一.HashSet 构造方法: HashSet() :构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75 源码: 二.LinkedHashSet 构造方 ...
- 剑指:最小的k个数
题目描述 输入 n 个整数,找出其中最小的 K 个数.例如输入 4,5,1,6,2,7,3,8 这 8 个数字,则最小的 4 个数字是 1,2,3,4. 解法 解法一 利用快排中的 partition ...
- windows10删除多出的oem分区
某次windows升级后,磁盘管理里新出现一个500多M的OEM分区 其实系统里本来就有一个OEM分区是第一个分区,大小499M,可能因为这个分区太小,系统就又新建一个 因为在windows10分区后 ...
- day 44
目录 前端 什么是前端 什么是后端 web服务的本质 请求方式 HTTP协议 1.四大特性 2.数据格式 请求格式 响应格式 响应状态码 HTML 文件的后缀名 HTML的注释 HTML的文档结构 标 ...