HDU 1358(kmp)
来源:互联网 发布:mac重启黑屏 编辑:程序博客网 时间:2024/06/05 09:12
题意:给出一个数字n,接下来一行是一个字符串,n是这个字符串的长度。求这个字符串的所有是循环字符串的前缀。
kmp中的next数组只得是第i个字符匹配错误,向前跳的位置next【i】。
#include<algorithm>#include<stdio.h>#include<string>#include<string.h>#include<math.h>#include<queue>#include<iostream>using namespace std;int i,j,k;int len;char s[1000001];int next[1000001];void get_next() { int i=0,j=-1; next[0]=-1; for(;s[i];) if(j==-1||s[i]==s[j]) { ++i;++j; next[i]=j; } else j=next[j]; } int main(){int t=1; while(scanf("%d",&len)&&len){ getchar(); scanf("%s",s); get_next(); printf("Test case #%d\n",t++); for(i=2;i<=len;i++){ j=i-next[i]; if(i%j==0){ if(i/j>1) printf("%d %d\n",i,i/j); } } printf("\n"); } return 0;}
0 0
- HDU 1358 Period (KMP)
- hdu 1358 KMP运用
- hdu 1358 KMP
- hdu 1358 kmp
- hdu 1358 KMP
- HDU 1358 Period KMP
- hdu 1358 Period KMP
- HDU 1358(kmp)
- hdu 1358 Period(KMP)
- HDU 1358 kmp理解
- HDU 1358 Period KMP
- 【HDU】1358 Period KMP
- HDU 1358 Period (KMP)
- HDU 1358kmp
- hdu 1358 kmp算法
- hdu-1358 Period 【kmp】
- hdu 1358 Period ( kmp )
- HDU 1358--Period【KMP】
- 向本地maven库中添加jar包
- linux下删除文件夹
- PHP简单语法的详细介绍
- Android中Sqlite的时间函数(翻译)
- 常用Linux打包命令 tar和zip
- HDU 1358(kmp)
- 操作集合的工具类:Collections使用示例
- Ubuntu 11.10 Android编译环境安装
- appStore上传苹果应用程序软件发布流程
- PHP脚本代码标记
- 辽宁移动梦网短信新增业务申报流程
- Struts Ongl valueStack与ActionContent.ValueStack的区别
- 360浏览器插件360抢票王火车票刷票技巧
- 黑马程序员:多线程