![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kmp算法
文章平均质量分 50
ACMer_hades
没有伞的孩子只能够努力奔跑!
展开
-
hdu(2203)——亲和串
题意: 实质就是让你判断能否让s2与s1进行完全匹配,也就是普通的kmp问题。 但是这道题又考虑到了要让s1进行转化然后去和s2匹配,我们可以转化为使s1复制为原串的2倍,也就是2个s1。然后让这个新的s1去和s2进行匹配。这里这个思路非常巧妙~~~ #include #include #include #include #include #include #include #inc原创 2016-02-15 23:41:25 · 544 阅读 · 0 评论 -
hdu(1171)——Number Sequence
题意: 就是让你对两个数字串进行匹配,并且输出当a[K] = b[1], a[K + 1] = b[2], ...... , a[K + M - 1] = b[M]. 时的那个最小的K值。 思路: 就是对两个数字串进行匹配,并且同时记录开始下标。 #include #include #include #include #include #include #include #incl原创 2016-02-15 23:46:54 · 465 阅读 · 0 评论 -
hdu(1686)——Oulipo
题意: 给你两个串A,B,让你求A串在B串中的出现次数。 思路: kmp。。。但是一开始没想通,其实只要在求next数组时,最后把len-1那个位置的next值也求出来就好了,因为我们知道了最后一个字母对应的最大公共前缀后缀,那么我们就可以在第二个样例的时候当完成第一次匹配后,我们知道文本串后一位应该和模式串的那一位去匹配了。其实说白了就是把最后一个字母的最大公共前缀后缀也求出来了嘛,这样我原创 2016-02-15 23:55:44 · 1425 阅读 · 1 评论 -
Kmp算法理解
Kmp个人理解:Kmp个人理解 个人认为要理解kmp首先我们得了解几个概念 最长前缀后缀 基于最长公共最长前缀后缀匹配 next数组的求法 通过代码来递推计算next数组 next数组的优化 完整的kmp代码 感谢这篇博文,讲的很详细! 个人认为要理解kmp首先我们得了解几个概念: 最长前缀后缀: 基于最长公共前缀后缀进行匹配 next数组 通过代码来递推计算next数组 next数组的优化 完整原创 2016-06-29 15:12:55 · 912 阅读 · 0 评论