hdu1358 Period(kmp周期)
2015-08-31 12:13
471 查看
题目链接:点击打开链接
题意描述:给一个字符串,求这个字符串中每个前缀自身是否有周期性?
解题思路:kmp即可
代码:
题意描述:给一个字符串,求这个字符串中每个前缀自身是否有周期性?
解题思路:kmp即可
代码:
#include <cstdio> #include <cstring> #define MAXN 1000010 using namespace std; void getNext(char* str,int len,int* next){ int i,j; j=next[0]=-1; i=0; while(i<len){ while(j!=-1&&str[i]!=str[j]) j=next[j]; ++i,++j; next[i]=j; } } char st[MAXN]; int next[MAXN]; int main(){ int t=0,n; while(++t){ scanf("%d",&n); if(!n) break; scanf("%s",st); getNext(st,n,next); printf("Test case #%d\n",t); for(int i=2;i<=n;i++){ if((i%(i-next[i])==0)&&(i/(i-next[i])>1)) printf("%d %d\n",i,i/(i-next[i])); } printf("\n"); } return 0; }
相关文章推荐
- Swift2.0发布以来的历次主要更新
- iOS_UI_4_UIButton
- Group Anagrams
- SQL一次查出多个字段的COUNT值
- git 使用钩子直接推送到工作目录
- Android AsyncTask onPostExecute()不执行,与JPush冲突
- linux--安装phpcurl扩展
- Git使用笔记
- Composer PHP依赖管理的新时代
- C#实现绑定Combobox的方法
- 四旋翼电池、电机、螺旋桨选型与搭配(转)
- Oracle Study之---Oracle升级前备份和失败回退
- ImageView.ScaleType设置图解
- 求第n个丑数
- C语言中的fscanf()函数与vfscanf()函数使用
- 2015关于第十一届"蓝狐网络杯"湖南省大学生计算机程序设计竞赛的总结
- Linux平台下Python的安装及IDE开发环境搭建
- [Android Pro] 通过IMSI判断手机是移动、联通、电信
- 第十章:C++标准模板库
- 程序未响应(ANR)产生原因和解决办法