poj 2406 Power Strings求子串在主串中最多叠加次数
Posted can丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj 2406 Power Strings求子串在主串中最多叠加次数相关的知识,希望对你有一定的参考价值。
- #include<stdio.h>
- #define M 1000010
- int n,next[M];
- char s[M];
- void getNext()
- {
- int i=1,j=-1;
- next[0]=-1;
- for(;s[i];i++){
- while(j!=-1&&s[j+1]!=s[i])j=next[j];
- if(s[j+1]==s[i])j++;
- next[i]=j;
- }
- n=i;
- }
- int main()
- {
- while(scanf("%s",s),s[0]!=‘.‘){
- getNext();
- if(n%(n-next[n-1]-1))puts("1");
- else printf("%d\n",n/(n-next[n-1]-1));
- }
- return 0;
- }
以上是关于poj 2406 Power Strings求子串在主串中最多叠加次数的主要内容,如果未能解决你的问题,请参考以下文章