poj2406-kmp的next数组的简单应用(2)
来源:互联网 发布:java未来发展 编辑:程序博客网 时间:2024/05/16 07:38
这题是求字符串可以由多大的子串重复叠加成;主要试看lt与lt-next[lt-1]-1的关系;lt-next[lt-1]-1表示的意义是剩下的距离,因为前面已经匹配过了,如果最后可以匹配的话则都可以匹配;而最后可以匹配主要看长度关系。
#include<cstdio>#include<cstring>const int maxn=1e6+5;char t[maxn];int Next[maxn];int lt;void getNext(){ int i,j=-1; Next[0]=-1; for(int i=1;i<lt;i++){ while(j!=-1&&t[i]!=t[j+1])j=Next[j]; if(t[i]==t[j+1])j++; Next[i]=j; }}int main(){ while(~scanf("%s",t)){ if(!strcmp(t,"."))break; lt=strlen(t); getNext(); if(lt%(lt-Next[lt-1]-1)){ printf("1\n"); } else { printf("%d\n",lt/(lt-Next[lt-1]-1)); } } return 0;}
0 0
- poj2406-kmp的next数组的简单应用(2)
- KMP(3)--poj2406(next数组的应用)
- poj2406--kmp next的应用
- 【POJ2406】Power Strings-KMP中next数组的应用
- poj1961-kmp的next数组的简单应用(2)
- POJ2406【KMP-next数组】
- POJ2406 Power Strings KMP-next数组的循环节
- POJ2406 Power Strings(KMP next数组的运用)
- poj2406—KMP next数组的性质求最小周期
- POJ_1961 KMP next的典型应用 类似于 poj2406
- POJ2406 KMP next数组妙用
- poj2752—kmp的next数组的简单应用
- KMP算法中的NEXT数组的应用
- hdu1358 KMP-next数组的应用
- hdu-4763 kmp next数组的应用
- POJ 1961 KMP的next数组应用
- hdu 3746 KMP next数组的应用
- hust 1010 kmp next数组的应用
- 02二维数组中的查找
- 选择文件夹的对话框
- cocos2d-x 精灵遮罩
- 梦想-第一次接触
- C# 多线程
- poj2406-kmp的next数组的简单应用(2)
- I/O模式 同步、异步、阻塞、非阻塞
- java类加载器
- Android SurfaceFlinger中的Layer,LayerDim,LayerBlur,LayerBuffer
- 日记2014-4-22
- hdu 2474 Process scheduling(模拟+队列)
- PCI设备读取配置空间
- USACO Section 4.1 Fence Rails
- GRE词汇整理(magoosh版本)