社区讨论
94pts TLE on #4 求调
P3805【模板】Manacher参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mj2wq2ys
- 此快照首次捕获于
- 2025/12/12 21:32 2 个月前
- 此快照最后确认于
- 2025/12/14 15:30 2 个月前
RT,评测记录
代码:
CPP#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
const int P=1e9+7;
const int N=2.2e7+10;
string s;
char g[N];
int d[N];
int n,m,ans,l,r=-1;
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>s;
n=s.size();
m=n*2+1;
for(int i=1;i<=n;i++)g[i*2]=s[i-1];
g[0]='!',g[m+1]='.';
for(int i=1;i<=m;i++)if(i%2)g[i]='#';
for(int i=1;i<=m;i++)
{
if(i<=r)
{
int j=l+r-i;
d[i]=min(d[j],r-i+1);
}
int k=d[i];
while(g[i-k]==g[i+k])k++;
d[i]=k;
ans=max(ans,d[i]-1);
l=i-d[i]+1,r=i+d[i]-1;
}
cout<<ans<<'\n';
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...