exkmp(Z 函数)_算法
exkmp(Z 函数)
代码很像 manacher,思路也很像。
作用是求一个串和每个后缀的 。
1 | inline void Z(char *s, int n) { |
维护 ,表示 开始的后缀与 开始的后缀的 ,在求的过程中我们动态维护 表示 最大的已匹配的 。
在求新的 的时候,我们直接利用已有信息,将其初始化为 ,然后暴力匹配即可,由于暴力匹配成功必定会使得 变大,所以均摊可证复杂度。
注意 初始化为 ,求 时从 开始枚举。
同理,我们可以对求出了 数组的串与另一个串的每个后缀求 。
评论
评论插件加载失败
正在加载评论插件