全RE,发生甚么了(
查看原帖
全RE,发生甚么了(
1025479
LIXE_115楼主2023/9/2 20:14
#include<bits/stdc++.h>
#include<time.h>
using namespace std;
int p[12000006];
int mx,id,len;
int ans;
string a,b;
void yu(){
	int it=0;
	b[it++]='&';
	for(int i=0;i<a.size();i++){
		b[it++]='#';
		b[it++]=a[i];
	}
	b[it++]='#';
	len=it;
	return;
}
int manacher(){
	for(int i=1;i<len;i++){
		p[i]=mx>i?min(mx-i,p[id*2-i]):1;
		while(b[i-p[i]]==b[i+p[i]]){
			p[i]++;
		}
		if(p[i]+i>mx){
			mx=p[i]+i;
			id=i;
			ans=max(ans,p[i]);
		}
	}
	return ans-1;
}
int main(){
	cin>>a;
	yu();
	int temp=manacher();
	cout<<temp;
	return 0;
}

rt(

2023/9/2 20:14
加载中...