摘要:        
http://poj.org/problem?id=3461	基础KMP,要注意一次查找完成后,到下一可查找处继续匹配,这样才能保证得到最终个数。code:#include<cstdio>#include<cstring>charsubstr[10001];charstr[1000001];intnext[10001];intsublen,len,ans;voidget_next(){next[1]=0;intj=0;for(inti=2;i<=sublen;i++){while(j>0&&substr[j+1]!=substr[i])j=n    阅读全文
        posted @ 2012-02-05 17:06
追逐.
阅读(211)
评论(0)
推荐(0)
            
        
        
摘要:        
http://poj.org/problem?id=2752	KMP的next数组应用。一句话,next[j]必须为满足str[1..next[j]] = str[j-next[j]+1..j]的最大值。	以abababa为例,next[7] = 5,则str[1..5] = str[3..7],显然str[3..5] = str[5..7]。 next[5] = 3,则 str[1..3] = str[3..5],根据上面所得可知str[1..3] = str[5..7]。	由于next数组的性质,显然上述对任意情况都是成立的,每个next保存的值都可使str[1..next[j]...    阅读全文
        posted @ 2012-02-05 03:10
追逐.
阅读(183)
评论(0)
推荐(0)
 
                    
                     
                    
                 
                    
                 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号