![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
summer_via
不积跬步无以至千里
展开
-
【字符串】KMP匹配模板
kmp算法: kmp算法就是通过模式串的自身匹配来构造跳跃数组next[],来加速运算。匹配时,若失去匹配,则模式串直接跳跃到最长前缀匹配的地方。 模板: /* kmp算法: * kmp()返回匹配数。 * next[i]:ss的第i个位置前的最长与模式串ss前缀匹配的长度。 * vis[i]:第i个位置是否被匹配。 * 使用kmp()前必须调用pre_kpm(); * 时间复杂度原创 2016-07-28 21:44:14 · 729 阅读 · 0 评论 -
hihoCoder 1014 Trie树【python版】
python版的简单字典树: n = int(raw_input()) lis = [] for i in range(n): str = raw_input() lis.append(str) trie = {} for i in range(n): p=trie for ch in lis[i]: if not p.has_key(ch):原创 2017-03-18 21:13:47 · 742 阅读 · 0 评论 -
hdu-1358 KMP
思路 题目意思简单来说就是给定字符串,求该字符串的最小周期长度。 关于周期 符号约定:t表示一个周期,kt表示k个周期构成的字符串,即tttttt…t,共k个t,k代表周期数,‘+’表示连接字符串 每个前缀至少可以看成一个周期 我们首先找到的必然是形如2t的周期数大于1的前缀 若字符串s=kt+t,则s的周期也为t,周期为(k+1)(看起来是废话) 结合 (2)(3),可以归纳出我们通过kt+t...原创 2019-02-19 21:37:45 · 225 阅读 · 0 评论