Manacher
Winterfell30
这个作者很懒,什么都没留下…
展开
-
HDOJ 5677 ztr loves substring (Manacher+背包型DP)
题意问能不能从给出的字符串中找到k个回文子串能组成总长度为l的串。思路先Manacher预处理出所有长度的回文串的个数,然后就变成一个多重背包了,即dp[i][j][l]表示枚举到长度为i的回文串时已经取了j个串总长度为l的情况是否存在,因为长度为i的回文串有很多,一个一个枚举肯定就T了,我们就用多重背包那种做法把数量变成二进制来处理就行了,总复杂度L∗K∗K)∗log(∑cnt[i])L*K*K)原创 2016-05-02 13:50:15 · 571 阅读 · 0 评论 -
BZOJ 2342: [Shoi2011]双倍回文 (Manacher+set)
题意如果一个回文串的前一半和后一半也是回文串,那就是一个双倍回文,求最长的双倍回文的长度。思路先manacher预处理出来所有p[i]是必须要的。 然后我选择了枚举所有p[i],也就是枚举出双倍回文的大串的中点,然后判断前半部分的中点的p[j]是不是等于二分之一的p[i],然后WA了。因为p[i]代表的是i这个点的最长回文半径像这组数据:ccddddcc就是不能通过的。 然后窝们就要好好yy一下原创 2016-05-02 21:51:53 · 510 阅读 · 0 评论