[BZOJ3160]万径人踪灭 FFT+manacher
所求可以转化为所有位置和字母都回文的子序列减去回文子串。后者显然可以用manacher解决。
假设字符串倍增后,关于i对称的字母对一共有f[i]对,那么以其为对称中心的回文子序列就一共有2^f[i]-1种。我们还发现f[i]=∑[s[j]==s[i-j]]{1<=j<=i-1},s为未倍增的原串。这是一个卷积的形式,可以用fft解决,分成∑[s[j]==s[i-j]==’a’]和∑[s[j]==s
原创
2017-10-19 08:09:07 ·
334 阅读 ·
0 评论