弱双回文串统计
一个串为弱双回文串当且仅当能把这个串劈成两个回文串,回文串可以是空串。弱双回文串的另一种定义方式是将其放在一个环上,能找到一个对称轴使得环对称。
一个串有若干种合法的分裂方式,描述为表达方式。
若一个弱双回文串只有一种表达方式,则我们称其为本源弱双回文串。
结论:若一个弱双回文串有至少 2 种表达方式,则这个串一定能被表达为一个弱双回文串重复多遍的结果。
例如
证明:
这里同一个字母不代表表达的字符相同,只代表一个部分。
这个串的某两种表达方式为
AAAAAA|????????? ?????
?????? ?????????|BBBBB
上下对应一下
AAAAAA|CCCCCCCCC BBBBB
AAAAAA CCCCCCCCC|BBBBB
翻转,设
AAAAAA|BBBBBDDDD DDDDD
DDDDDD DDDAAAAAA|BBBBB
出现了
但是我们还需要说明周期一定是弱双回文串,这里我们抛开弱周期定理。
注意到
首先若
否则找到一个形如
仅保留
更进一步的,能发现如果一个弱双回文串不是本源弱双回文串,则它可以表达为一个本源弱双回文串重复若干遍的结果。
所以我们设长度为
所以统计弱双回文串的个数直接杜教筛即可。