53.FIB词链
时间限制: 1 s
空间限制:
128000 KB
题目等级
: 大师 Master
题目描述 Description
Fibonacci词定义如下:FIB1 = b FIB2 = a 当k >= 1时, FIBk+2 = FIBk+1*FIBk
其中* 表示词的连接。因此,我们有:
FIB3 = ab; FIB4 = aba; FIB5 = abaab; FIB6 = abaababa.
问题是,对给定的词,问该词在FIBn中出现多少次。
输入描述 Input Description
输入有两行,第一行为给出的只含有a 或 b的词,长度不超过30.第二行给出一个正整数n, n <= 200.
输出描述 Output
Description
对给定的词,输出在FIBn中出现的次数
样例输入 Sample Input
aba
6
样例输出 Sample Output
3
错误代码:
#include
using namespace std;
#include
#include
char fib[201][1000000],ch[31],n,sum=0;
void input();
void search();
int main()
{
input();
search();
printf("%d",sum);
return 0;
}
void search()
{
int chlong=strlen(ch),fiblong=strlen(fib[n]);
int fibl=0,chl=0;
while(fibl
{
int cpyfibl=fibl;
while(fib[n][cpyfibl]==ch[chl]&&chl
{
chl++;
cpyfibl++;
}
if(chl==chlong)
{
sum++;
chl=0;
}
if(chl!=chlong)
{
chl=0;
}
fibl++;
}
}
void input()
{
scanf("%s",ch);
scanf("%d",&n);
fib[1][0]='b';
fib[2][0]='a';
for(int i=3;i<=n;++i)
{
strcpy(fib[i],fib[i-1]);
strcat(fib[i],fib[i-2]);
}
}
记录第i个词的前M-1位和后M-1位,在递推的时候合并并且更新答案就可以了。
其中M表示所求字符串的长度。
特判:如果M=0的话直接上Fib数。
注意要高精,压四位很好写吧,那个20的常数是高精带来的。
53.FIB词链的更多相关文章
- 校内OJ 1128 词链(link)(Trie+DFS)
1128: 词链(link) 时间限制: 1 Sec 内存限制: 64 MB 提交: 23 解决: 7 [提交][状态][讨论版] 题目描述 给定一个仅包含小写字母的英文单词表,其中每个单词最多包 ...
- 词链(link)
词链(link) 题目描述 给定一个仅包含小写字母的英文单词表,其中每个单词最多包含50个字母.如果一张由一个词或多个词组成的表中,每个单词(除了最后一个)都是排在它后面的单词的前缀,则称此表为一个词 ...
- RQNOJ 429 词链:单调栈
题目链接:https://www.rqnoj.cn/problem/429 题意: 如果一张由一个词或多个词组成的表中,每个单词(除了最后一个)都是排在它后面的单词的前缀,则称此表为一个词链. 如:i ...
- P1127 词链
P1127 词链 题目描述 如果单词X的末字母与单词Y的首字母相同,则X与Y可以相连成X.Y.(注意:X.Y之间是英文的句号“.”).例如,单词dog与单词gopher,则dog与gopher可以相连 ...
- cogs 173. 词链 字典树模板
173. 词链 ★★☆ 输入文件:link.in 输出文件:link.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述]给定一个仅包含小写字母的英文单词表,其中每个 ...
- codevs与noi做题改错本目录
从2016.2.13开始: 1. 排序超时的问题---------目录:-测试习题 2. 超高精度乘法超时问题-----------目录:高精度计算 算法:快速傅里叶算法. 压位算法 3. 高精度 ...
- 洛谷P1127-词链
Problem 洛谷P1127-词链 Accept: 256 Submit: 1.3kTime Limit: 1000 mSec Memory Limit : 128MB Problem ...
- tyvj1113 魔族密码
描述 风之子刚走进他的考场,就…… 花花:当当当当~~偶是魅力女皇——花花!!^^(华丽出场,礼炮,鲜花) 风之子:我呕……(杀死人的眼神)快说题目!否则……-_-### 花 ...
- NLPP-03-Exercises
<PYTHON自然语言处理>第3章 处理原始文本 更多更复杂有关处理HTML内容 http://www.crummy.com/software/BeautifulSoup/ 3.11 深入 ...
随机推荐
- Wireshark抓包保存文件(图片,视频,音频等)
1.首先选择一个图片的分组 如图的9801 就是JPG 2.对下面的窗口里面选中JPEG File Interchange Format 右键选择 导出分组字节流 3.文件输入XXX.jpg,注意保存 ...
- Redis—初探Redis
一.什么是Redis? 学习Redis最好的是看官网了,下面是Redis的官网对Redis的介绍 可见,Redis是一个内存存储的数据结构服务器,可以用作数据库.缓存等.支持的数据结构也很丰富,有字符 ...
- Linux下的lds链接脚本详解【转】
转自:http://www.cnblogs.com/li-hao/p/4107964.html 转载自:http://linux.chinaunix.net/techdoc/beginner/2009 ...
- Ubuntu 17.10 安装 “爱壁纸” 时,缺失了 python-support 依赖
Ubuntu 17.10 安装 "爱壁纸" 的 deb 包时,缺失了 python-support 依赖.使用 sudo apt-get -f install 也没修复.查了下官 ...
- $NTT$(快速数论变换)
- 概念引入 - 阶 对于$p \in N_+$且$(a, \ p) = 1$,满足$a^r \equiv 1 (mod \ p)$的最小的非负$r$为$a$模$p$意义下的阶,记作$\delta_p ...
- 匿名函数、lambda表达式
匿名函数 func = lambda x: y #x是形参,y是返回值 键字lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面的y表示匿名函数的返回值. 例1:返回列表中长度大于等于3的元素 ...
- C/C++——C语言跳出多重循环方法
c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto ; i < MAX1; i++) { ; j < MA ...
- python模块之xlrd,xlwt,读写execl(xls,xlsx)
安装xlrd,xlwt pip install xlrd xlwt xlrd读取execl [环境ipython python2.7.5] import xlrd book = xlrd.open_w ...
- [ python ] 正则表达式及re模块
正则表达式 正则表达式描述: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个‘规则字符串’,这个‘规则字符串’用来 表达对字符串的一种过滤 ...
- cenos6.5安装vsftp
1.安装 yum install vsftpd 2.配置 vi /etc/vsftpd/vsftpd.conf 检查是否如下配置 anonymous_enable=NO #禁止匿名访问 chroot_ ...