为何TLE??
查看原帖
为何TLE??
1339889
pjh0625楼主2024/11/25 22:22
def f(s):
    t='#'.join('^{}$'.format(s))
    n=len(t)
    p=[0]*n  
    c=r=0  
    for i in range(1,n-1):
        mirr=2*c-i
        if i<r:
            p[i]= min(r-i,p[mirr])
        a=i+(1+p[i])
        b=i-(1+p[i])
        while t[a]==t[b]:
            p[i]+=1
            a+=1
            b-=1
        if i+p[i]>r:
            c=i
            r=i+p[i]
    m=max((p[i] for i in range(1,n-1)),default=0)
    return m
s=input().strip()
print(f(s))
2024/11/25 22:22
加载中...