AC自动机
Dream-chasing ant
鄙人水平不高,建立博客初心只是想留一份回忆给自己。
展开
-
Family View HDU - 5880
传送门 这道题本身不难,但对空间卡的特别死,不能用memset #include<cstdio> #include<iostream> #include<cstring> #include<queue> #include <cctype> #include <algorithm> using namespace std; const int maxn=1e6+10; int trie[maxn][26],fail[maxn],fla原创 2020-07-30 20:44:40 · 128 阅读 · 0 评论 -
AC自动机
文章目录前言步骤构造Trie树通过BFS构造fail指针扫描目标进行匹配模板模板题感想 前言 AC自动机是一种多模匹配算法。给出一个目标T和多个模式P1、P2、P3、…、pn,问你有多少个模式在T中出现过,并给出在T中匹配的位置。 复杂度O(n),n为T的长度 步骤 构造Trie树 构造一棵Trie树,作为AC自动机算法的数据结构。将多个模式Pi插入Trie树中。不仅有此前Trie树的性质,节点还增加一个fail指针。如果当前点匹配失败,则将指向当前匹配的字符的指针转移到fail指针指向的地方,使得当原创 2020-07-29 18:07:39 · 70 阅读 · 0 评论