摘要: /*KMP算法*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <bitset>#include <strst 阅读全文
posted @ 2011-03-24 23:44 AC2012 阅读(235) 评论(0) 推荐(0) 编辑
摘要: /*KMP算法思想*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <bitset>#include <str 阅读全文
posted @ 2011-03-24 23:23 AC2012 阅读(151) 评论(0) 推荐(0) 编辑
摘要: /*KMP 算法的应用这个题目可以这么理解,算出next[len]之后,那么根据重复字串的性质它有个必要条件是,len-next[len]的大小就是重复字串的长度,这是个必要条件如果这个条件不满足的话,那么它必定没有重复字串。*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#includ 阅读全文
posted @ 2011-03-24 22:13 AC2012 阅读(128) 评论(0) 推荐(0) 编辑
摘要: /*KMP算法KMP思想的精华是求模式串的失败函数,所谓的失败函数是指如果在匹配的过程失败了,模式串要返回到哪个位置。此时可以很明显的发现。加入此时是i位置匹配失败那么pattern[0...i-1]的某个前缀和某个后缀可能会相等。如果相等的话,那么我们就可以从这个前缀的下个位置开始搜,而不用从头开始搜这也是和暴力算法的蛮力搜高明的地方。*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype& 阅读全文
posted @ 2011-03-24 21:14 AC2012 阅读(127) 评论(0) 推荐(0) 编辑