全部RE?String和Char都试过了,都是全RE,求助!
查看原帖
全部RE?String和Char都试过了,都是全RE,求助!
261262
WaltVBAlston楼主2021/9/12 13:07
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int n,p[11000005],pos=0,mr=0,maxn=0;
char s[11000005],c[11000005];
int main(){
	cin>>s;
	n=strlen(s);
	c[0]='@';
	for(int i=0;i<n;i++){
		c[i*2+1]=s[i];
		c[i*2+2]='#';
	}
	n=n*2;
	for(int i=1;i<=n;i++){
		int j=pos*2-i;
		if(i<mr)
			p[i]=min(mr-i+1,p[j]);
		while(c[i-p[i]]==c[i+p[i]])
			p[i]++;
		if(i+p[i]-1>mr)
			mr=i+p[i]-1,pos=i;
		maxn=max(maxn,p[i]);
	}
	cout<<maxn;
	return 0;
}
2021/9/12 13:07
加载中...