
AC自动机
Exception2017
OI总结
展开
-
hdu2222 AC自动机模板
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2222题解:AC自动机的本质是将模式串建成字典树跑kmp。首先新建字典树,bfs预处理失败指针,查找就可以。#include<cstdio>#include<cstring>#include<queue>#include<algorithm>...原创 2019-02-04 20:47:27 · 204 阅读 · 0 评论 -
bzoj4327 AC自动机
原题:https://www.lydsy.com/JudgeOnline/problem.php?id=4327题解:将模式串加入ac自动机跑主串。对于每一个前缀,打上标记跳失败指针,统计答案即可。#include<cstdio>#include<cstring>#include<algorithm>#include<map>#in...原创 2019-02-10 00:40:15 · 159 阅读 · 0 评论 -
CF163E. e-Government AC自动机+fail树+分块
原题:http://codeforces.com/contest/163/problem/E题解:给k个字符串,维护3种操作,添加一个字符串,删除一个字符串,查询模式串在主串中出现了几次。暴力来做,跑ac自动机,统计所有的失败指针对应的字符串。考虑如何优化,将失败指针反向,那么模式串的子树就是答案。用深搜序转换成线性,再用对应的数据结构维护就可以,可以用线段树,树状数组,数列分块等。我用的数列...原创 2019-02-11 21:08:35 · 248 阅读 · 0 评论 -
NOI2011 阿狸的打字机 AC自动机+fail树
原题:https://www.luogu.org/problemnew/show/P2414题解:给出一个字符串,从中可以拆出n个模式串,m组询问:第x个字符串在第y个字符串中出现了几次。暴力的做法,对于y的前缀,查询失败指针中x出现了几次。很容易想到离线的做法将y排序,查找y前缀的失败指针,用桶维护一下,可以拿到70分。 #include<cstdio>#include&...原创 2019-02-11 21:29:25 · 209 阅读 · 1 评论