HUST1010——The Minimum Length(KMP)
来源:互联网 发布:淘宝卖书的利润 编辑:程序博客网 时间:2024/05/21 09:22
Description
There is a string A. The length of A is less than 1,000,000. I rewrite it again and again. Then I got a new string: AAAAAA...... Now I cut it from two different position and get a new string B. Then, give you the string B, can you tell me the length of the shortest possible string A. For example, A="abcdefg". I got abcd efgabcdefgabcdefgabcdefg.... Then I cut the red part: efgabcdefgabcde as string B. From B, you should find out the shortest A.
Input
Multiply Test Cases. For each line there is a string B which contains only lowercase and uppercase charactors. The length of B is no more than 1,000,000.
Output
For each line, output an integer, as described above.
Sample Input
bcabcabefgabcdefgabcde
Sample Output
37
用KMP求最小循环点。因为KMP是求一段字符中某一段与前段相等的长度,所以与前一段相等长度最大的数,再用总长度减去这个数,就是最小循环点
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int MAXN = 1000005;char T[MAXN];int f[MAXN];void getFail(char *p,int *f){ int n=strlen(p); f[0]=f[1]=0; for(int i=1; i<n; ++i) { int j=f[i]; while(j && p[i]!=p[j]) j=f[j]; if(p[i]==p[j]) f[i+1]=1+j; else f[i+1]=0; }}int main(){ while(gets(T)) { getFail(T,f); int n=strlen(T); printf("%d\n", n-f[n]); } return 0;}
0 0
- HUST1010——The Minimum Length(KMP)
- hust1010 The Minimum Length
- HUST1010-The Minimum Length
- HUST1010 The Minimum Length
- F - The Minimum Length HUST1010( kmp计算最小循环节)
- The Minimum Length 【kmp】
- The Minimum Length KMP
- HUST 1010 The Minimum Length(KMP)
- hust——1010F - The Minimum Length(kmp专练)
- The Minimum Length (HUST_1010) KMP
- HUST 1010 The Minimum Length (裸KMP)【KMP模板】
- HUST 1010 The Minimum Length(kmp求周期)
- The Minimum Length (kmp中next数组的运用)
- hust 1010 The Minimum Length(KMP)
- HUST 1010-The Minimum Length-KMP
- hust 1010 The Minimum Length (KMP)
- HUST 1010 The Minimum Length(KMP,最短循环节点)
- hust 1010 The Minimum Length (KMP 最短循环节)
- Swift基础代码(switch, enum, Set, func)
- Unity 角色释放技能后使周围物体具有爆炸效果
- ViewPager+FragmentPagerAdapter跟ViewPager+FragmentStatePagerAdapter的区别
- NSDictionary
- Python 列表中存储类对象时按照指定属性进行排序——用于正排表的排序
- HUST1010——The Minimum Length(KMP)
- Java关键字final、static使用总结
- Metasploit 渗透测试笔记(Meterpreter篇)
- 3.30uitableview的知识点
- C# this.invoke()作用 多线程操作UI
- Maven打包自定义时间戳格式
- 《MySQL从入门到精通(视频教学版)》目录
- HDOJ 题目1043 Eight(单向BFS,康拓展开,打表)
- iOS的全局session