最大最小表示法与KMP求循环节
最大最小表示法与KMP求循环节的模板题,#include#include #include #include #include #include using namespace std;const int MAXN=2000005;int init(){ int rv=0,fh=1; char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') fh=-1; c=getchar(); } while(c>='0'&&c<='9'){ rv=(rv<<1)+(rv<<3)+c-'0'; c=getchar(); } return fh*rv;}char s[MAXN],s1[MAXN],s2[MAXN];int nxt[MAXN];int MINR(){ int i=0,j=1; int len=strlen(s)/2; while(i s[j+k]) i=max(i+k+1,j+1); else j=max(j+k+1,i+1); } int ans=min(i,j); for(int i=0;i