3AC13TLE悬关求调
查看原帖
3AC13TLE悬关求调
658305
zgzn楼主2024/2/24 13:25
#include<bits/stdc++.h>
using namespace std;
string s1,s2;int c,r,p[25000001],maxx=1;
int main()
{
	cin>>s1;
	s2=s2+"@#";
	for(int i=0;i<s1.length();i++)
		s2=s2+s1[i]+'#';
	s2=s2+'$';
	p[0]=p[1]=1,c=1,r=1;
	for(int i=2;i<s2.length()-1;i++)
	{
		if(i>r)
			p[i]=1;
		else
			p[i]=min(p[c+c-i],r-i+1);
		while(s2[i+p[i]]==s2[i-p[i]])
			p[i]++;
		if(r<i+p[i]-1)
			c=i,r=i+p[i]-1;
		maxx=max(maxx,p[i]);
	}
	cout<<maxx-1;
	return 0;
}

莫名TLE,搞不懂。

2024/2/24 13:25
加载中...