摘要: KMP算法是由Knuth,Morris,Pratt共同提出的算法,专门用来解决模式串的匹配,无论目标序列和模式串是什么样子的,都可以在线性时间内完成,而且也不会发生退化,是一个非常优秀的算法,时间复杂度的上界是O(n+m)。 那么我们现在就来研究一下KMP算法究竟是个什么东西,我这里就尽量说的简洁一 阅读全文
posted @ 2016-02-04 21:53 PhiliAI 阅读(966) 评论(0) 推荐(0) 编辑
摘要: DNA序列 题目大意:给你m串字符串,要你找最长的相同的连续字串 这题暴力kmp即可,注意要按字典序排序,同时,是len<3才输出no significant commonalities 1 #include <iostream> 2 #include <functional> 3 #include 阅读全文
posted @ 2016-02-04 21:50 PhiliAI 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 追名逐利 题目大意:给定一个字符串S,要你找到S的所有前缀后缀数组 还是Kmp的Next数组的简单应用,但是这一题有一个BUG,那就是必须输出字符串的长度(不输出就WA),然而事实上对于abcbab,这样输出会是2,6,很明显是错,但是答案还是会判对,吃惊 1 #include <iostream> 阅读全文
posted @ 2016-02-04 17:36 PhiliAI 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 字符串前缀的阶 题目大意:求前缀的阶 和POJ1961是一样的,KMP的Next数组的应用,不要用STL,不要一个一个读入字符(IO永远是最慢的) 1 #include <iostream> 2 #include <algorithm> 3 #include <functional> 4 #incl 阅读全文
posted @ 2016-02-04 14:47 PhiliAI 阅读(194) 评论(0) 推荐(0) 编辑
摘要: Oulipo 题目大意:给你一个字符串,要你找到字符串包含指定子串的个数 只要你知道了KMP,这一题简直不要太简单,注意STL的string是会超时的,还是乖乖用char吧 1 #include <iostream> 2 #include <algorithm> 3 #include <functi 阅读全文
posted @ 2016-02-04 02:08 PhiliAI 阅读(439) 评论(0) 推荐(0) 编辑