HDU 3746 Cyclic Nacklace KMP的性质应用
来源:互联网 发布:模拟鼠标点击软件 编辑:程序博客网 时间:2024/06/05 20:01
前面做过类似的题了,所以切出这个来也很简单。
关于KMP的小应用,KMP的next数组的作用就是用来记录前面的串的状态的。
可以用Len-next[Len]得出当前点的循环节。。。
这个还是很好理解的。
好了KMP在切掉POJ的就在此告一段落了。。。。
#include<iostream>using namespace std;char t[111111];int next[111111];int LenT;void setNext(){ int j=0,k=-1; next[0]=-1; while( j<LenT ) { if( k==-1||t[j]==t[k] ) next[++j]=++k; else k=next[k]; }}int main(){ int T; scanf( "%d",&T ); while( T-- ) { scanf( "%s",&t ); LenT=strlen(t); setNext(); int loop=LenT-next[LenT]; if( next[LenT]==0 ) printf( "%d\n",LenT ); else if( loop==1 || LenT%loop==0 ) printf( "0\n" ); else printf( "%d\n",(LenT/(loop)+1)*loop-LenT ); } return 0;}
- HDU 3746 Cyclic Nacklace KMP的性质应用
- KMP hdu-3746-Cyclic Nacklace
- 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)
- |Hdu 3746|KMP|Cyclic Nacklace
- ibatis动态数组条件
- while((c=getchar())!=EOF)的问题
- SQL语句各子句的执行顺序
- 希尔排序总结
- 闲话喝酒
- HDU 3746 Cyclic Nacklace KMP的性质应用
- 关于权限的数据库设计
- sql server
- 算法题3
- 数据库权限管理设计 .
- 且行且记0313
- 详解SQL Server Profiler分析死锁几大步骤
- 表格一些知识点
- 评价过滤运算符选择对T-SQL执行性能的影响机制