AC自己主动机模板-- /* * AC自己主动机模板 * 用法: * 1.init() : 初始化函数 * 2.insert(str) : 插入字符串函数 * 3.build() : 构建ac自己主动机 * 4.query(str) : 返回出现的字符串个数 * * 使用需注意事项: * 1.注意输入的字符的范围,需对Next和其二维大小及相关參数进行更改 * 2.注意Next.Fail和End数组的大小,防止超内存过数组越界 * 3.依据实际情况对模板中" buf[i] - 'a' "…
http://acm.hdu.edu.cn/showproblem.php?pid=5384 Problem Description Danganronpa is a video game franchise created and developed by Spike Chunsoft, the series' name is compounded from the Japanese words for "bullet" (dangan) and "refutation&q…
数单词 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 为了可以顺利通过英语四六级考试,如今大家每天早上都会早起读英语. LYH本来以为自己在6月份的考试中能够通过六级,但是没想到,成绩出来以后.竟然没有通过.所以他不得不付出很多其它的时间来学习英语. 要想通过六级.最主要的要求就是词汇量.为了可以更快的记住一些陌生单词.LYH有时会找一些英语文章来读. 今天早上.LYH又找了一篇文章.读之前.他突然萌生出一个想法:文章中哪些单词出现的次数最多呢? 输入 第一行…
AC自己主动机的模板题.因为输入的字符串中的字符不保证全为小写字母.所以范围应该在130之前,而前31位字符是不可能出如今字符串的(不懂得查下ACSII表即可了).所以仅仅须要开的结点数组大小为130足够了.假设开256就会内存超限. 11908775 2014-10-19 10:45:38 Accepted 2896 250MS 29596K rid=11908775" target="_blank" style="color:rgb(26,92,200); te…
题目链接:pid=2222">点击进入 KMP对模式串进行处理.然后就能够方便的推断模式串是否在目标串中出现了:这显示适合一个模式串多个目标串的情况.可是假设模式串有多个,这时假设还用KMP则须要对每一个串都进行一次处理,显然不是非常合适.事实上这时候能够将全部模式串建成一棵trie树.然后採用相似于kmp的方法计算出failed指针,也就能够方便的进行匹配了.事实上这就是ac自己主动机的思想. 代码例如以下: #include<iostream> #include<cs…
题意:给出一个字符串和若干个模板,求出在文本串中出现的模板个数. 思路:由于有可能有反复的模板,trie树权值记录每一个模板出现的次数就可以. #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<iostream> #include<algorithm> #include<vector> #include<map&…
题意:给出n个文本和m个模板.求每一个文本中全部模板出现的总次数. 思路:Trie树权值记录每一个模板的个数.对于每一个文本跑一边find就可以. #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<iostream> #include<algorithm> #include<vector> #include<ma…
BY 九野 做了一道题,用我的那种写法华丽丽的超时了.,无奈学一学数组实现的 #include<stdio.h> #include<string.h> #include<queue> #include<iostream> using namespace std; const int maxnode=250*1000+10000;//maxnode=单词数*单词长度+常数 const int sg_size=26; struct Trie { int ch[m…
近期一直在学习字符串之类的算法,感觉BF算法,尽管非常easy理解,可是easy超时,全部就想学习其它的一些字符串算法来提高一下,近期学习了一下AC自己主动机.尽管感觉有所收获,可是还是有些朦胧的感觉,在此总结一下,希望大家不吝赐教. 一.AC自己主动机的原理: Aho-Corasick automaton.该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之中的一个. 一个常见的样例就是给出N个单词,在给出一段包括m个字符的文章,让你找出有多少个单词在这文章中出现过,.要搞懂AC自己主动…
点击打开链接题目链接 Keywords Search Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 42838    Accepted Submission(s): 13488 Problem Description In the modern time, Search engine came into the life of eve…