/* 返回顶部 */

随笔分类 -  字符串—————KMP

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