KMP算法

KMP算法用来求单模式串匹配。

简单来说,你需要给你的模式串计算一个 \(nxt\) 数组,使得 \(nxt[i]\) 是长度为 \(i\) 时的最长公共前后缀。

匹配到文本串的一个位置 \(i\) 时,相当于把文本串长度为 \(i\) 的前缀拿出来,找它的最长后缀(前缀的后缀即是子串)使得能与模式串的某个前缀匹配,理解了这个之后 \(nxt\) 数组的含义以及用法应该就明朗了。

  • 例题:
  1. luogu P3375 【模板】KMP字符串匹配 题解
posted @ 2020-06-17 06:43  With_penguin  阅读(34)  评论(0编辑  收藏  举报