原题链接
本文同步发布于个人博客
题意简述
给定一个字符串 s s s,找到字符串的前缀 a a a和后缀 b b b合成为 t ( t = a + b ) t(t=a+b) t(t=a+b), a a a和 b b b可以为空,求出长度最长的 t t t
数据范围
s ≤ 1 0 6 s\leq 10^6 s≤106
题解
呜呜呜,这题现场想了半天还是只会easy
其实这题主要瓶颈在于求最长前缀回文串,我们首先可以用双指针扫一遍,具体来说就是一开始 i = 1 , j = n i=1,j=n i=1,j=n,如果 s [ i ] = = s [ j ] s[i]==s[j] s[i]