关于 KMP next 数组的应用


仔细看  这个   点击打开链接  好好理解 next数组的含义

POJ   2406   求最小的 循环节长度  



#include
#include
#include
#include
using namespace std;
char b[1000010];
int next[1000010];
int m,n;

void g_next(int m){
    int j=-1,i=0;
    next[0]=-1;
    while(i


POJ   1961 

#include
#include
#include
#include
using namespace std;
char b[1000010];
int next[1000010];
int m,n;

void g_next(int m){
    int j=-1,i=0;
    next[0]=-1;
    while(i>k){
         if(!k)  break;
            cin>>b;
         m=strlen(b);
         g_next(m);
         cout<<"Test case #"<


POJ  2752

好好理解 next 

#include
#include
#include
#include
using namespace std;
char b[40000010];
int next[40000010];
int ans[40000001];
int m,n;

void g_next(int m){
    int j=-1,i=0;
    next[0]=-1;
    while(i>b){
         m=strlen(b);
         g_next(m);
         int k=0;
         while(m!=-1&&m!=0){
            ans[k++]=m;           //寻找前缀和后缀相同
            m=next[m];
         }
         for(int j=k-1;j>=0;j--){
            cout<






你可能感兴趣的:(POJ)