fr(i,1,n){ if(i<=r)p[i]=min(p[(mid<<1)-i],r-i+1); while(s[i-p[i]]==s[i+p[i]])++p[i]; if(p[i]+i>r)r=p[i]+i-1,mid=i;//蒟蒻这里mid=i没有写能够70分TAT ++cnt[1],--cnt[2*p[i]]; }