转自 http://roba.rushcj.com/?p=439定义k-回文串如下:(1)任何串(包括空串)都是0-回文; (2)一个长度为n的回文串,若它的前n/2个字符和后n/2个字符都是(k-1)-回文,则它是k-回文。现给定一个串(长度不超过5,000,000),设它的每个前缀分别是x-回文,求所有这些x值的和。比如abacaba,”a”是1-回文,”aba”是2-回文,”abacaba”是3-回文,故输出6。将字符串 反转接在后面,然后KMP求解即可 把原串翻转后拼接在原来的串后面,用一个不在字母表中的分隔符隔开的。然后用KMP里对模式串的预处理那个过程,求出失配以后往前跳的那个指针 Read More