摘要: manacher 算法是用于解决字符串中最长回文子串问题的著名算法。 给定包含小写拉丁字母的字符串 \(S\),求其最长回文子串的长度。 首先想到暴力解法,枚举左右端点(\(O(n^2)\)),再 \(O(n)\) 判断是不是回文串,复杂度 \(O(n^3)\)。 优化的暴力:枚举回文串中心对称点。 阅读全文
posted @ 2021-07-04 15:49 pengyule 阅读(76) 评论(0) 推荐(0)
摘要: AC 自动机是 trie 的存储加上 KMP 的思想。KMP 是解决 1 文本串 + 1 模式串 的匹配问题,AC 自动机则用来解决多个模式串的问题。和 KMP 一样,AC 自动机的时间复杂度也是 \(O(|t|)\) 的。 模型:给定文本串 \(T\) 和 \(n\) 个模式串 \(\{S_n\} 阅读全文
posted @ 2021-07-04 15:48 pengyule 阅读(112) 评论(0) 推荐(0)