AC_automata
文章平均质量分 78
Drenight
Dream in the night.
展开
-
AC_Automata模板
#includeusing namespace std;#define ll long longint ans=0;const int maxnode=1e6+7; const int sigma_size=26;struct AC_Automata { int ch[maxnode][sigma_size]; int val[maxnode];原创 2017-05-22 22:25:50 · 239 阅读 · 0 评论 -
Rikka with String HDU - 6086 多校#5 AC自动机DP
有之前的铺垫这题感觉好做多了。。跟之前不同的就在于对称轴节点要特殊标记#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned原创 2017-08-21 19:37:07 · 298 阅读 · 0 评论 -
DNA repair HDU - 2457 自动机DP
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned long long#define pb push_back#define原创 2017-08-20 22:34:06 · 194 阅读 · 0 评论 -
Ring HDU - 2296 AC自动机DP路径记录
构造n长串,若含有模板串x可获得a[x]的价值,同价值取字典序最小,输出路径dp[i][j]表示长度i转移态j的最大价值,对应一个path[i][j]记录路径#include#include#include#include#include#include#include#include#include#include#includeusing namespace st原创 2017-08-20 21:55:35 · 289 阅读 · 0 评论 -
A Secret HDU - 6153 TLE的AC自动机解法
赛中听说反转之后是前缀匹配就想敲自动机了,还好没真做赛后试了下自动机,居然真T了,删了可惜存一下吧。。。、回去看看自动机复杂度吧。。。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define原创 2017-08-20 19:58:06 · 334 阅读 · 0 评论 -
Wireless Password HDU - 2825 AC自动机DP计数
给m个单词,问构造长为n且含有至少k个单词的串的种数朴素的自动机上DP,遍历了自动机的所有状态,dp[i][j][k]:长为i的串匹配到状态j,出现k编码状态word的串的种数#include#include#include#include#include#include#include#include#include#include#includeusing nam原创 2017-08-18 22:33:39 · 202 阅读 · 0 评论 -
考研路茫茫——单词情结 HDU - 2243 AC自动机/特征字符串构造计数/等比矩阵求和
细节都在注释里了,这条跟上一条挺像的,都是用自动机构造转移矩阵,还是那个要点:trie图上u号节点转移到v号节点时,如果形成特征串就在矩阵的mat[u][v]+1#include#include#include#include#include#include#include#include#include#include#includeusing namespace原创 2017-08-18 21:36:19 · 179 阅读 · 0 评论 -
DNA Sequence POJ - 2778 AC自动机构造矩阵
构建一个长度为n的串s,不能包含模板串,问一共多少种s把所有病毒节点和以病毒节点为后缀的节点标为病毒节点从编号i的节点走到j时,如果i,j都不是病毒节点,这样的走法才是安全的,mat[i][j]++其他就是一些矩阵的知识了#include#include#include#include#include#include#include#include#include原创 2017-08-17 23:48:31 · 221 阅读 · 0 评论 -
HDU 6138 Fleet of the Eternal Throne 多校#8 AC自动机
给n个串,每次询问x号串和y号串的最长公共子串的长度,这个子串必须是n个串中某个串的前缀做法是把n个串建成AC自动机,前缀树中每个节点都当做结尾节点,val赋为trie树深度然后把x串丢进自动机里,把匹配到的前缀节点染个色,再把y串丢进去,遇到同样颜色的前缀节点就更新一下答案#include#include#include#include#include#include#i原创 2017-08-17 22:05:58 · 289 阅读 · 0 评论 -
病毒侵袭 HDU - 2896 newnode型自动机
题意:含有特征串的字符串有病毒,给一堆特征串,按顺序判定一组字符串是否有病毒代码:#includeusing namespace std;#define ll long longconst int maxn=1e4+7;const int maxm=210;const int maxnode=205*500;const int sigma=98;char ori[max原创 2017-05-23 00:21:00 · 217 阅读 · 0 评论 -
String HDU - 6096 多校#6 自动机
想总结的太多了。。。白天再来吧#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned long long#define pb原创 2017-08-22 02:29:50 · 265 阅读 · 0 评论