更好的阅读体验

Portal

Portal1: Nowcoder

Description

超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢\(\textrm{"c"}\)和\(\textrm{"y"}\)。因此超越学姐喜欢只含有\(\textrm{"c"}\)和\(\textrm{"y"}\)的字符串,且字符串中不能出现两个连续的\(\textrm{"c"}\)。请你求出有多少种长度为\(n\)的字符串是超越学姐喜欢的字符串。答案对\(1e9 + 7\)取模。

Input

输入一个整数\(n\)。

\(1 \le n \le 100000\)。

Output

输出一个整数表示答案。

Sample Input

3

Sample Output

5

Sample Explain

\(\textrm{cyy, cyc, yyy, yyc, ycy}\)。

Solution

我们通过枚举可以发现

当\(n = 1\)时,答案为\(2\):c, y

当\(n = 2\)时,答案为\(3\):cy, yc, yy

当\(n = 3\)时,答案为\(5\):cyy, cyc, yyy, yyc, ycy

当\(n = 4\)时,答案为\(8\):yyyy, yyyc, yycy, ycyy, cyyy, cycy, yccy, ycyc

当\(n = 5\)时,答案为\(13\):yyyyy, yyyyc, yyycy, yycyy, ycyyy, cyyyy, yycyc, ycyyc, cyyyc, ycycy, cyycy, cycyy, cycyc

\(\cdots \cdots\)

容易总结出规律:\(\textrm{f(i) = f(i - 1) + f(i - 2)}(x \ge 3)\)

在写完代码时,还需要对于\(n = 1\)时特判。

Code

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath> using namespace std; typedef long long LL;
const int mod = 1e9 + 7;
int n;
int main() {
scanf("%d", &n);
if (n == 1) {//特判n = 1的情况
printf("2\n");
return 0;
}
LL x1 = 2, x2 = 3;
for (int i = 3; i <= n; i++) {
LL tmp = x1;
x1 = x2 % mod;
x2 = (x2 + tmp) % mod;//前两项的和
}
printf("%lld\n", x2 % mod);//不要忘记取余
return 0;
}

「牛客练习赛53A」超越学姐爱字符串的更多相关文章

  1. 牛客练习赛53 A 超越学姐爱字符串 (DP)

    牛客练习赛53 超越学姐爱字符串 链接:https://ac.nowcoder.com/acm/contest/1114/A来源:牛客网 超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢" ...

  2. 【牛客练习赛53】A-超越学姐爱字符串

    // 题目地址:https://ac.nowcoder.com/acm/contest/1114/A /* 找规律(碰运气) n:1 = 2 n:2 = 3 n:3 = 5 n:4 = 8 ... d ...

  3. 牛客练习赛53 A-E

    牛客联系赛53 A-E 题目链接:Link A 超越学姐爱字符串 题意: 长度为N的字符串,只能有C,Y字符,且字符串中不能连续出现 C. 思路: 其实就是DP,\(Dp[i][c]\) 表示长度为 ...

  4. 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A

    牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...

  5. 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B

    牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

  6. 【并查集缩点+tarjan无向图求桥】Where are you @牛客练习赛32 D

    目录 [并查集缩点+tarjan无向图求桥]Where are you @牛客练习赛32 D PROBLEM SOLUTION CODE [并查集缩点+tarjan无向图求桥]Where are yo ...

  7. 最小生成树--牛客练习赛43-C

    牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 ​ 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...

  8. 牛客练习赛28-B(线段树,区间更新)

    牛客练习赛28 - B 传送门 题目 qn姐姐最好了~ ​ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, ​ 1 l r 询问区间[l,r]内的元素和 ​ 2 l r 询问区间[l,r]内的 ...

  9. 牛客练习赛26:D-xor序列(线性基)

    链接:牛客练习赛26:D-xor序列(线性基) 题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y 题解:线性基 #inc ...

随机推荐

  1. python编程基础之十

    分支条件: 单一分支条件:if 条件 : 条件真运行... 双分支条件:if 条件 : 条件真运行else: 条件假运行... 多分支条件:if 条件1 : 条件1真运行elif 条件2 : 条件1假 ...

  2. requests模块(get请求)篇

    - HTTP for Humans,更简洁更友好- 继承了urllib的所有特征- 底层使用的是urllib3- 开源地址: https://github.com/requests/requests- ...

  3. java架构之路-(Redis专题)Redis的高性能和持久化

    上次我们简单的说了一下我们的redis的安装和使用,这次我们来说说redis为什么那么快和持久化数据 在我们现有的redis中(5.0.*之前的版本),Redis都是单线程的,那么单线程的Redis为 ...

  4. UVA1420 Priest John's Busiest Day【贪心】

    题意简介 有一个司仪,要主持n场婚礼,给出婚礼的起始时间和终止时间,每个婚礼需要超过一半的时间做为仪式,并且仪式不能终止.问说司仪能否主持n场婚礼. 输入格式 多组数据,每组数据输入一个\(N\)(\ ...

  5. sqli-labs靶机注入笔记1-10关

    嗯,开始记录sqli-lab的每关笔记,复习一次 1-2关 基于错误的字符串/数字型注入 闭合的符号有区别而已 http://www.sqli-lab.cn/Less-1/?id=1 or 1=1 - ...

  6. Python3的编码整理总结

    python3在内存中是用unicode编码方式存储的,所以不能直接储存和传输,要转化为其他编码进行储存和传输. 字符串通过编码转换成字节码,字节码通过解码成为字符串 encode:str --> ...

  7. PHP array_unshift

    1.函数的作用:在数组的开头插入一个或者多个元素 2.函数的参数: @params  array  &$array @params  mixed $value1 @params  mixed ...

  8. PHP array_pop

    1.函数的作用:删除数组的最后一个元素并返回 2.函数的参数: @params array &$array 3.注意点: 每次调用之后,重置指针 4.例子: <?php $product ...

  9. fread优化读入

    inline char nc() { static const int BS = 1 << 22; static unsigned char buf[BS],*st,*ed; if(st ...

  10. Api版本管理

    关于SpringMVC中如何添加,这一篇说的很详细了. http://www.cnblogs.com/jcli/p/springmvc_restful_version.html 版本管理可以通过路径进 ...