Keywords Search(hdu 2222)】的更多相关文章

题意:给出n个单词,一篇文章,询问有几个单词在文章中出现过. /* AC自动机的裸题. 题目标号牛的一比. */ #include<cstdio> #include<cstring> #include<iostream> #define N 500010 #define M 1000010 using namespace std; ],danger[N],point[N],mark[N],q[N],n,size; char ch[M]; void insert(){ ;…
HDU 2222 Keywords Search(查询关键字) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) [Description] [题目描述] In the modern time, Search engine came into the life of everybody like Google, Baidu, etc. Wiskey also wants to br…
Keywords Search Description In the modern time, Search engine came into the life of everybody like Google, Baidu, etc.       Wiskey also wants to bring this feature to his image retrieval system.       Every image have a long description, when users…
首先,有这样一道题: 给你一个单词W和一个文章T,问W在T中出现了几次(原题见POJ3461). OK,so easy~ HASH or KMP 轻松解决. 那么还有一道例题: 给定n个长度不超过50的由小写英文字母组成的单词准备查询,以及一篇长为m的文章,问:文中出现了多少个待查询的单词(原题见POJ3630). OK,依然so easy~ 字典树(Trie)轻松解决. 那么,如果你说,什么是KMP和Trie,那么恭喜你啊…… 建议大家要在看这篇博客之前做到: 如果你能看到这里,说明你已经熟练…
Keywords Search Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 35930    Accepted Submission(s): 11597 Problem Description In the modern time, Search engine came into the life of everybody like…
Keywords Search Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 46676    Accepted Submission(s): 14858 Problem Description In the modern time, Search engine came into the life of everybody lik…
题意:给你一些模式串,再给你一串匹配串,问你在匹配串中出现了多少种模式串,模式串可以相同 AC自动机:trie树上进行KMP.首先模式串建立trie树,再求得失配指针(类似next数组),其作用就是在这一位不匹配时转移到失配指针上.失配指针是转移到某个等于此位置最长后缀的位置,求法是bfs #include<set> #include<map> #include<queue> #include<stack> #include<cmath> #in…
题意:给你几个keywords,再给你一段文章,问你keywords出现了几次. 思路:这里就要用到多模匹配算法AC自动机了,AC自动机需要KMP和字典树的知识,匹配时是在字典树上,失配我们就要用到类似KMP的失配值了,如果失配,我们就沿着失配值到某个节点开始匹配,因为是多模匹配,我们每次失配移动都会从某一keyword的某部分开始匹配,这样就节省了很多时间. 话说第一次听到AC自动机我竟天真的以为是会自动AC题目的算法...orz 参考: AC自动机算法详解 (转载) ac自动机最详细的讲解,…
/* 啥也不说了,直接套模板... */ 1 #include<iostream> #include<map> #include<string> #include<cstring> #include<queue> #define N 500000 using namespace std; class AC_Atomata { public: int nodeN;//trie树的节点个数 ];//trie树 int f[N];//失配函数 //ma…
题目 传送门:QWQ 分析 $ AC $自动机模板,黈力的码风真的棒极了,这是我抄他的. 还有 题号不错 代码 #include <cstdio> #include <cstring> #define N 500007 using namespace std; ],fail[N],cur,j,end[N],q[N],vis[N],ans[N],end2[N],end3[N]; ]; int find(int cur,int i){ if(!cur)return rt; if(son…