AC自动机
hqwhqwhq
有梦想就不累
展开
-
HDU 2222 Keywords Search (AC自动机)
AC自动机上学期看过,看是一直没有写过,今天把这道模板题写完了。 附上学习博客的地址:AC自动机 代码风格是模仿的bin神博客的。分析:理解了KMP以后AC自动机并不是很难理解。KMP是对于一个串找公共前后缀,而AC自动机是对于一颗Trie树找公共前后缀。要点:如果匹配失败了,那么要转到fail指针后面的进行匹配。 代码中预处理出所有的ch值,这样扫匹配串:ch[now][str[i]-‘a’原创 2015-11-06 18:24:23 · 756 阅读 · 0 评论 -
HDU 2896 病毒侵袭(AC自动机)
分析:这也是一道很裸的AC自动机,单词结尾的节点不在是1,而是id,即这个单词的序号,然后用vector把所有序号存在来,一遍去重,然后输出答案就好了。总的复杂度为o(m*l)代码:#include <bits/stdc++.h>#define LL long long#define uLL long long#define FOR(i,x,y) for(int i = x;i < y;++原创 2015-11-07 00:03:23 · 449 阅读 · 0 评论 -
AC自动机
AC自动机简介Aho−Corasick automatonAho-Corasick\ automaton,该算法在19751975年产生于贝尔实验室,是著名的多模匹配算法。下面我们会举一个具体问题来讲解AC自动机。前提知识KMP算法+Trie原创 2017-11-27 21:13:12 · 368 阅读 · 0 评论