随笔分类 - 字符串—————KMP
摘要:gate 用时:反正挺久的 给定长度为n的字符串和整数k,问每个前缀能否拆成ABABA(B可以为空,即AAAAA)(k+1个A)的形式。 设AB为S,则A为S的前缀。 问题转化为拆成SSSSA或SSSSS KMP,通过fail数组可以求
阅读全文
摘要:gate 一年前做的. 求一个字符串由多少个循环节构成. KMP. 结论:若n则不是由循环节构成的. 否则,答案为n/(n−next[n]). code #include<cstdio> #include<iostream> #include<cm
阅读全文
摘要:"gate" 谢谢好哥哥帮我写的markdown,哭了 exkmp,也称z−algorithm 是用来求一个字符串的每个后缀与原串的LCP,即字符串中后缀=前缀的长度。 表示以第i位为开头的后缀与前缀相等的最大长度。 例如字符串 ,可求出它的z函数为
阅读全文
摘要:第一次写kmp是2月,写错但AC了...第二次是6月,才发现... 现在是8月,第三次 /cy 传送门 KMP (D.E.Knuth - J.H.Morris - V.R.Pratt) 也叫看…,是一种改进的字符串匹配算法,核心是在匹配失败后减少已经匹配过的部分重新匹配。 原理 KMP是通过一个f[
阅读全文