
字符串处理——KMP
文章平均质量分 69
-sky-
这个作者很懒,什么都没留下…
展开
-
kmp模板
kmp:高效查找目标串的算法。 原理:通过记录目标串的规律, 通过后缀与前缀相同的规律,确定当比较了前几个相同是跳跃几个无需比较的元素(之前已经比较过)。 讲的比较好的一篇戳这里 模板代码: #include #include #include using namespace std; int Next[100050]; void kmp_pre(char s[], int l原创 2017-07-29 18:02:49 · 232 阅读 · 0 评论 -
Oulipo HDU - 1686 kmp算法
传送门 题目大意:给定两个字符串,计算第一个字符串在第二个字符串中出现的次数。 解题思路:直言不讳的kmp AC代码: #include #include #include using namespace std; int Next[100050]; void kmp_pre(char s[], int len) { int i = 0, j = -1原创 2017-07-29 18:06:31 · 243 阅读 · 0 评论 -
Bazinga HDU - 5510 沈阳站
传送门 题目大意:给定n个字符串, 分别标号 1, 2 ...n; 找到一个符合(所有小于这个编号的字符串中有一个不是它的子串)的字符串。 解题思路:一开始没想到, 导致超时···, 我们从头开始往后搜索, 编号为i的字符串之前都不符合条件, 那么前i-1个字符串都是第i个串的子串, 只要这个串是后面一个串的子串, 那么这个串就没必要匹配了 原因: 它如果不是i+1的子串, 那他的父原创 2018-01-29 13:02:37 · 240 阅读 · 0 评论