hdu4749 kmp应用】的更多相关文章

呃,从网上看的题解,然而其实有点地方还没搞懂,先放在这,以后再回来理解. 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题目:2013 is the 60 anniversary of Nanjing University of Science and Technology, and today happens to be the anniversary date. On this happy festival, school autho…
这题说的是给了一个模板串 然后又给了一个串 需要找出类似的按个模板串 , 改相等的位置要相等 该大于的位置到大于 我们将模板串做好失配指针就ok了,然后匹配和原来的匹配不同,这个匹配需要的是相对匹配,只要他们的相对位置相同就ok了,每次计算要插入的数在这个匹配中的排位 #include <iostream> #include <cstdio> #include <string.h> #include <algorithm> #include <vect…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题意:给出两个数字串A.B.问A中有多少不相交的子串a能匹配B.匹配的意思是a中任意两个位置i和j的大小关系和B的这两个位置的大小关系是一样的. 思路:若是完全一模一样的匹配的话那么KMP是很好理解的.那么对于上述的比较方式怎么比较两个串相等呢?对于a的位置i和B的位置i,我们只要比较i之前a中a[i]的个数和B中B[i]的个数是否相等,以及a中小于a[i]的个数和B中小于B[i]的数字个数是…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题意:给两个串S和P,求S串中存在多少个与P串的大小关系一样的串. 因为数字的范围是1<=k<=25之间,所以可以暴力的求25*25次KMP.当然完全没有必要这样做,在KMP的时候记录各个数的所表示的数就可以了,只需要求一遍KMP,复杂度降为O(25*n). //STATUS:C++_AC_125MS_1596KB #include <functional> #include &…
// KMP.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using namespace std; int BF(char S[], char T[]) {  int i=0, j=0;  int index = 0;  while ((S[i]!='\0')&&(T[j]!='\0'))  {   if (S[i]==T[j])   {    i++;    j++;   }…
以前看过kmp算法,当时接触后总感觉好深奥啊,抱着数据结构的数啃了一中午,最终才大致看懂,后来提起kmp也只剩下“奥,它是做模式匹配的”这点干货.最近有空,翻出来算法导论看看,原来就是这么简单(先不说程序实现,思想很简单). 模式匹配的经典应用:从一个字符串中找到模式字串的位置.如“abcdef”中“cde”出现在原串第三个位置.从基础看起 朴素的模式匹配算法 A:abcdefg  B:cde 首先B从A的第一位开始比较,B++==A++,如果全部成立,返回即可:如果不成立,跳出,从A的第二位开…
KMP算法是字符串模式匹配当中最经典的算法,原来大二学数据结构的有讲,但是当时只是记住了原理,但不知道代码实现,今天终于是完成了KMP的代码实现.原理KMP的原理其实很简单,给定一个字符串和一个模式串,然后找模式串在给定字符串中的位置.将两个字符串转换为字符数组,然后从两个数组的开始位置"i","j"开始匹配,如果相同,执行"i++","j++"接着比较下一位:如果不相同,就转到模式串对应next数组的对应位置"ne…
前几天写好了字典,又刚好重温了KMP算法,恰逢遇到朋友吐槽最近被和谐的词越来越多了,于是突发奇想,想要自己实现一下敏感词屏蔽. 基本敏感词的屏蔽说起来很简单,只要把字符串中的敏感词替换成"***"就可以了.对于子串的查找,就KMP算法就可以了.但是敏感词这么多,总不能一个一个地遍历看看里面有没有相应的词吧! 于是我想到了前几天写的字典树.如果把它改造一下,并KMP算法结合,似乎可以节约不少时间. 首先说明一下思路: 对于KMP算法,这里不过多阐述.对于敏感词库,如果把它存进字典树,并在…
Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 36916   Accepted: 14904 Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quot…
链接:http://blog.csdn.net/joylnwang/article/details/6778316 KMP算法是一种很经典的字符串匹配算法,链接中的讲解已经是很明确得了,自己按照其讲解大体实现了一遍,感觉还不错.其算法的效率在于next表的建立上,宗旨就是避免朴素匹配算法中的冗余回溯问题.还是直接上代码吧. #ifndef ALGKMP_H__ #define ALGKMP_H__ static class KMP { public: KMP(char *pattern, cha…