摘要: 前置知识:KMP 算法(了解思想)、Trie。 问题:给定 \(n\) 个模式串和 \(1\) 个文本串,求解有多少个模式串在文本串中出现过。 朴素的想法是做 \(n\) 次 KMP,但时间复杂度太高,难以接受,这时就要用到 AC 自动机了。 AC 自动机的基本思想 假设现在的文本串为 \(s=\t 阅读全文
posted @ 2025-07-18 20:05 cold_jelly 阅读(17) 评论(0) 推荐(1)
摘要: 回文串 通俗地讲,如果一个字符串正着读和反着读都一样,那么这个字符串被称为回文字符串,简称回文串。也就是说,如果字符串 \(s\) 满足: \[\boxed{\forall i\in [1,|s|],s[i]=s[|s|-i+1]} \]则 \(s\) 为回文串。 对于一个回文串 \(s\),如果其 阅读全文
posted @ 2025-07-18 16:19 cold_jelly 阅读(27) 评论(0) 推荐(1)
摘要: \(z\) 函数 对于字符串 \(s\)(下标从 \(0\) 开始),定义 \(z\) 函数 \(z(i)\) 的值为 \(s\) 与 \(s[i\sim |s|-1]\) 的最长公共前缀的长度,并且规定 \(z(0)=0\)。例如对于 \(s=\text{ABAAABC}\): \(z(0)\): 阅读全文
posted @ 2025-07-18 10:16 cold_jelly 阅读(16) 评论(0) 推荐(2)