http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.htmlpoj 2406 简单求周期View Code #include<cstdio>#include<cstring>char b[1000010];int p[1000010];int m,n;void getp(){ p[1]=0; int i,j=0; for(i=2;i<=m;i++){ while(j>0&&b[j+1]!=b[i]) j=p[j]; if(b[j+1]==b[i]) j+=1; p[i]=j... Read More
posted @ 2012-01-06 21:45 Because Of You Views(8105) Comments(0) Diggs(2) Edit
----------------------------------------------k m x j i由上,next【i】=j,两段红色的字符串相等(两个字符串完全相等),s[k....j]==s[m....i]设s[x...j]=s[j....i](xj=ji)则可得,以下简写字符串表达方式kj=kx+xj;mi=mj+ji;因为xj=ji,所以kx=mj,如下图所示------------- -------------k m x j 看到了没,此时又重复上面的模型了,kx=mj,所以可以一直这样递推下去所以可以推出一个重要的性质len-next[i]... Read More
posted @ 2012-01-06 10:47 Because Of You Views(6993) Comments(0) Diggs(6) Edit