hdu 1358 Period
来源:互联网 发布:sybase查看数据库空间 编辑:程序博客网 时间:2024/04/29 11:25
next数组的应用题。
对于next[i] ,i代表长度,i-next[i]代表最开始可分割的长度,如果i%(i-next[i])为0且 i/(i-next[i])>1 则代表能分出长度为i-next[i]的i/(i-next[i]) 个部分!i
#include"cstdio"#include"cstring"#include"cmath"#include"cstdlib"#include"iostream"#include"algorithm"#include"queue"using namespace std;char a[1000002];int next[1000002],n;void getnext(char *t){ int i,j; i=0; j=-1; next[0]=-1; while(t[i]) { if(j==-1||t[i]==t[j]) next[++i]=++j; else j=next[j]; }}int main(){ int cas=1; while(scanf("%d",&n),n) { scanf("%s",a); getnext(a); printf("Test case #%d\n",cas++); for(int i=0;i<=n;i++) { if(next[i]==0) continue; if(i%(i-next[i])==0&&i/(i-next[i])>0) { printf("%d %d\n",i,i/(i-next[i])); } } puts(""); }}
0 0
- HDU 1358 Period (KMP)
- HDU 1358 Period
- hdu 1358 Period
- hdu 1358 Period
- hdu 1358 Period
- HDU 1358 Period KMP
- hdu 1358 Period
- hdu 1358 Period KMP
- hdu 1358 Period(KMP)
- HDU 1358 Period KMP
- hdu 1358 Period
- hdu 1358 Period
- 【HDU】1358 Period KMP
- HDU - 1358 Period
- HDU 1358 Period (KMP)
- HDU 1358 Period
- hdu 1358 Period
- HDU 1358 Period
- Dom4j中文异常处理:Invalid byte 2 of 2-byte UTF-8 sequence
- 关于linux SCSI 子系统
- C#对文件的操作
- Hadoop中两表JOIN的处理方法
- 安装程序无法创建新的系统分区,也无法定位现有系统分区
- hdu 1358 Period
- 求最大最小中间数的其他方法
- 这是一篇测试文章
- opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)
- [ACM] hdu 1242 Rescue (BFS+优先队列)
- 百度云盘PCS API使用
- U盘没有安全退出丢失文件怎么办
- MySQL之SQL MySQL正则表达式 LIKE与REGEXP的区别
- 第四章作业