manacher

用以处理的问题形式

最简单的应用,求一个串中的最长回文串。

算法流程

Part 1 预处理

将两种不同的回文串 \(\cdots B \cdots\) 和 \(\cdots BB \cdots\) 合并成一种情况来考虑。

在两两字符之间插入一个特殊符号,这样就无需考虑究竟是哪一种对称了。

Part 2

这里依然是非常像 KMP 和 扩展 KMP 的,大力利用之前已有的信息,然后暴力扩展,并且拥有 \(\operatorname O(n)\) 的优秀复杂度。

放学了咕咕咕。

上一篇:2021-09-15


下一篇:LGV引理