ExKmp
无名蒟蒻
苟利国家生死以,岂因祸福避趋之
展开
-
HDU 4333 Revolving Digits [扩展KMP]
题意:一个数字,依次将第一位放到最后一位,问小于本身的数的个数及等于本身的个数和大于本身的个数,但是要注意重复的不再计算。如果按照题意直接模拟,时间复杂度会达到Θ(|N|2)\Theta(|N|^2),然而我们会发现其中有许多不必要的重复比较,这时候扩展kmp算法就派上了用场。我们可以先把整个串复制一遍添到原串的结尾,如12121就是1212112121,做一遍扩展kmp后可求出next数组,也就是原创 2016-08-13 09:10:02 · 196 阅读 · 0 评论 -
扩展kmp算法
考虑如下的问题: 给出一个长度nn的字符串S0..n−1S_{0..n-1} 和一个长度mm的字符串T0..m−1T_{0..m-1} 问SS的哪个后缀和TT具有最长的公共前缀(Longest Common Prefix,以下简称LCP) 让我们来简单分析一下,暴力做法就是枚举SS的每一个后缀和TT匹配,时间复杂度是Θ(nm)\Theta(nm)。这个做法中,主要是重复运算拖慢了速度,效率不高。首先原创 2016-08-12 18:32:00 · 451 阅读 · 0 评论