kmp
Black__wing
acm菜鸡
展开
-
kmp学习心得
kmp是一种模板字符串跟文章对比,查询文章是否有模板字符串的算法。kmp最重要的就是对next数组的理解跟建立:首先看暴力的算法,对于模板串一个个去跟文章对比,如果不匹配,则退回模板串最开始重新对比,这样的算法显然时间复杂度很高,因此就有了kmp的诞生。next数组是对于长度为s的字符串他的前i个字母构成的子串中,最长的即使子串前缀又是后缀的长度记为next[i]。构建next数组...原创 2018-07-31 10:19:11 · 318 阅读 · 0 评论 -
补题nefu1492
链接此题求已知字符串s,其前缀长度跟前缀出现次数乘积最大值。那么我们可以想到对于字符串前缀求法,就是kmp,那么kmp怎么求前缀出现次数呢?我们可以想到,kmp的next数组对于每一个i对应的就是next[i]既是这个子串的前缀也是他的后缀,那么我们就可以知道这个next[i]长度的前缀在这里又出现了一次,那么我们可以从字符串末尾遍历,开始让所有字符串出现次数都是一次,那么从最长的开始...原创 2018-09-05 19:05:43 · 177 阅读 · 0 评论