社区讨论

性感代码求条

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 条回复,欢迎继续交流。

正在加载回复...