HDU 3746 Cyclic Nacklace(KMP)
2015-03-10 20:24
162 查看
KMP求最短循环节的应用
//2100 KB 218 ms #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define M 100000+1000 char str[M]; int next2[M]; int len; void getnext() { len=strlen(str); int i=0,j; j=next2[0]=-1; while(i<len) { while(j!=-1&&str[i]!=str[j]) j=next2[j]; j++; i++; next2[i]=j; } } int main() { int T; scanf("%d",&T); while(T--) { scanf("%s",str); getnext(); int ans=(len-next2[len])-len%(len-next2[len]); if(len%(len-next2[len])==0&&len/(len-next2[len])>1) printf("0\n"); else printf("%d\n",ans); } return 0; }
相关文章推荐
- HDU-3746 Cyclic Nacklace ( kmp )
- hdu 3746 Cyclic Nacklace(KMP)
- hdu 3746 Cyclic Nacklace KMP循环节问题
- HDU 3746 Cyclic Nacklace(kmp)
- HDU 3746 Cyclic Nacklace (KMP 循环节)
- HDU 3746 Cyclic Nacklace(KMP求最小循环元)
- hdu 3746 Cyclic Nacklace (KMP)
- HDU 3746--Cyclic Nacklace【KMP(最小循环节)】
- HDU 3746 Cyclic Nacklace KMP的性质应用
- HDU 3746 Cyclic Nacklace(KMP)
- HDU 3746 Cyclic Nacklace (KMP和循环节)
- HDU 3746 Cyclic Nacklace(KMP求循环节)
- HDU 3746 Cyclic Nacklace(KMP找循环节)
- hdu 3746 Cyclic Nacklace(kmp)
- HDU - 3746 Cyclic Nacklace(KMP 循环节)
- (KMP 1.4)hdu 3746 Cyclic Nacklace(使用next数组来求循环节的长度——求一个字符串需要添加多少个字符才能使该字符串的循环节的个数>=2)
- hdu3746—Cyclic Nacklace(kmp周期性质)
- |Hdu 3746|KMP|Cyclic Nacklace
- HDU - 3746 Cyclic Nacklace 【KMP next数组的深入理解】
- [HDU 3746]Cyclic Nacklace[kmp求周期]