摘要: 原题链接 求后缀凑成循环串还差几个字符 KMP练习 从前面的无线传输我们已经懂了怎么利用KMP求循环串长度,这里我们从尾下标就可以判断末尾是循环串的第几个字符 但这里有多种情况,分类讨论即可 1 #include <iostream> 2 #include <cstdio> 3 #include < 阅读全文
posted @ 2020-12-30 23:45 acmloser 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 原题链接 翻译一下题目就是求主串里有多少个子串 数据很小,貌似暴力就能过.但写这道题主要是练习KMP 默写KMP模板,j回溯时不要ne[j]直接等于0即可 j = ne[j]是求重叠子串的本质 1 #include <bits/stdc++.h> 2 using namespace std; 3 c 阅读全文
posted @ 2020-12-30 23:42 acmloser 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察KMP的运用 错误思路: 我是求字符串中没有重合的最长前后缀,但这样的思路遇到cabc这样的测试数据显然是错误的,因为字符串复制时不一定会复制>=两遍 正解思路: 按上面的思路,如果字符串复制两遍及以上,那么j的最大值就是答案,如果字符串复制少于2遍,答案应该是公共前后缀的长度+没有公 阅读全文
posted @ 2020-12-30 13:07 acmloser 阅读(57) 评论(0) 推荐(0) 编辑