社区讨论
性感代码求条
P3805【模板】Manacher参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mhjihj9t
- 此快照首次捕获于
- 2025/11/04 03:06 4 个月前
- 此快照最后确认于
- 2025/11/04 03:06 4 个月前
感觉挺正确,#4~#16全tle
CPP#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int maxn=1.1e7+5;
int n,p[maxn],mid,r,ans;
string s="$#",str;
int main(){
cin>>str;
char ch;
for(int i=0;i<str.size();i++){
ch=str[i];
s=s+ch+'#';
}
s+='@';
// cout<<s<<"\n";
n=s.size();
s=' '+s;
for(int i=1;i<=n;i++){
if(i<=r)p[i]=min(p[mid*2-i],r-i+1);
while(i-p[i]>=1&&i+p[i]<=n&&s[i-p[i]]==s[i+p[i]])p[i]++;
if(i+p[i]>r)r=i+p[i]-1,mid=i;
if(p[i]>ans)ans=p[i];
}
cout<<(ans-1);
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...