随笔分类 -  KMP、

摘要:题意:求所给串的前缀(包括原串)中有多少循环串(子串长度至少要是周期的两倍) 思路:还是next数组的应用问题、如果不懂next数组的话 http://www.cnblogs.com/sasuke-/p/5307156.html 点上面传送门 阅读全文
posted @ 2016-03-24 22:11 我不萌、我要高冷 阅读(160) 评论(0) 推荐(0)
摘要:题意:就给出个字符串做*的定义、a^0 = "" (the empty string) and a^(n+1) = a*(a^n). 题目要求n的最大值、 思路: 化简上面的等式之后就知道是求a的n次方,也就是说求所给字符串的最大循环次数,想一想、 如果可以求出所给字符串的最小循环节, 那么是不是就 阅读全文
posted @ 2016-03-24 21:50 我不萌、我要高冷 阅读(293) 评论(0) 推荐(0)
摘要:题意:给你一个字符串,寻找前缀和后缀相同的子串(包括原串)、 从小到大排列输出其子串的长度 思路:KMP next 数组应用、 其实就是一个数学推导过程、 首先由next数组 可知s(ab) = s(bd) 此时next[d]=b 而此时 next[b]=f,意味着s(ef)=s(gh) s(gh) 阅读全文
posted @ 2016-03-24 21:38 我不萌、我要高冷 阅读(261) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/jackge/archive/2013/01/05/2846006.html http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html 在KMP算法的使用中,首要任务就是获取一个字符串的n 阅读全文
posted @ 2016-03-22 16:27 我不萌、我要高冷 阅读(547) 评论(0) 推荐(0)
摘要:KMP模板题、直接放代码 1 #include 2 #include 3 const int qq=1e6+10; 4 int next[qq]; 5 int x[qq],y[qq]; 6 int n,m; 7 int KMP() 8 { 9 int i,j;10 i=j=0;11 ... 阅读全文
posted @ 2016-01-27 12:02 我不萌、我要高冷 阅读(139) 评论(0) 推荐(0)
摘要:要理解KMP最重要的一点就是防止重复的回溯、 !!!很重要!!!很重要!!!很重要 要了解KMP可以去:http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html 首先要生成模板串的next数组 1 void getNext( 阅读全文
posted @ 2016-01-27 11:35 我不萌、我要高冷 阅读(267) 评论(0) 推荐(0)