Theme Section HDU - 4763

 //用next[len] 可找到EAEBE的前后缀即E,然后再中间找符合EAEBE的前后缀(前后缀可根据中间查找情况进行缩略即继续查找E的前后缀),需要和已定前后缀间隔一倍E的距离,以防出现EEBE或EAEE的情况

#include
#include
#include
#include
#include
#include

const int N=1000000+5;
using namespace std;

int Next[N];
string str;

void getNext(string s,int m)//递推next数组
{
    int i=0,j=-1;
    
    memset(Next,0,sizeof(Next));
    
	Next[0]=-1;;
    while(i> str;
        int len= str.length();
        
		getNext(str, len);
        
        int ans=0;
        for(int i=Next[len]; i; i=Next[i]){
            for(int j=i<<1; j

 

你可能感兴趣的:(HDU,KMP)