马拉车 o(n)(最长连续回文串) hdu 3068

时间:2023-03-09 20:42:57
马拉车   o(n)(最长连续回文串) hdu 3068
#include<bits/stdc++.h>
;
using namespace std;
+];
string manacher(string ss)
{
    string tt="$#";
    ;i<ss.size();i++){tt+=ss[i]; tt+="#";}
    ;
    ;
    ;
    ;
    ;i<tt.size();i++)
    {
        *id-i],mx-i);
        ;
        while(tt[i+p[i]]==tt[i-p[i]]) p[i]++;
        if(i+p[i]>mx)
        {
            mx=i+p[i];
            id=i;
        }
        if(ls<p[i])
        {
            ls=p[i]; mid=i;
        }
    }
    ;i<tt.size();i++) p[i]=;
    , ls - );
}
char a[maxn];
int main()
{
    while(scanf("%s",&a)!=EOF)
    {
        string ss="";
        int l=strlen(a);
        ;i<l;i++) ss+=a[i];
        ss=manacher(ss);
        cout<<ss.size()<<endl;
    }
}