E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
AC自动机
【
AC自动机
】HDU中模板题汇总(待更新)
【HDU2222】最纯粹的裸题,错误点详见注释。1#include 2#include 3#include 4#include 5#include 6usingnamespacestd; 7structACauto 8{ 9intsum; 10ACauto*next[26]; 11ACauto*fail; 12ACauto() 13{ 14sum=0; 15for(in
GufuVelvirki
·
2016-02-07 10:00
AC自动机
模板
第一次写得不好,大神们误喷...#include #include #include #include #include #defineFor(i,j,k)for(i=j;inext[k]==NULL){ tmp=newnode; tmp->fa=h; h->next[k]=tmp; } h=h->next[k]; } h->count=1; strcpy(h->s1,w); } voidcrea
sxy_cnyali
·
2016-02-07 01:00
AC自动机
概述
转自:http://blog.csdn.net/mobius_strip/article/details/22549517#t7
AC自动机
总结0.引言: 由于大连现场赛的一道
AC自动机
+DP的题目(
sxy_cnyali
·
2016-02-06 22:00
【bzoj2553】禁忌
AC自动机
&矩阵乘法
题目叙述比较烦。。一句话,在字母只有前alphabet时,给定N个串,求长度为len的串包含这些N个串的个数最大值的期望值。 观察数据发现串的总长度 #include #include #defineldlongdouble #defineN105 usingnamespacestd; intn,m,p,now,tot,ch[N][26],h[N],fail[N];boolflag
lych_cys
·
2016-02-06 19:00
AC自动机
矩阵乘法
HDU-2222 Keywords Search(
AC自动机
)
KeywordsSearchhttp://acm.hdu.edu.cn/showproblem.php?pid=2222TimeLimit:2000/1000MS(Java/Others) MemoryLimit:131072/131072K(Java/Others)ProblemDescriptionInthemoderntime,Searchenginecameintothelifeof
idealism_xxm
·
2016-02-06 16:00
HDU
AC自动机
回文树学习小记
回文树(回文自动机)学习小记(PalindromicTree)回文树,顾名思义,用回文串构成的一棵树,结合了一点
AC自动机
的思想,打起来不长,用起来挺方便。变量首先满足
AC自动机
的结构。
doyouseeman
·
2016-02-05 17:00
回文串
回文树
回文自动机
模板_KMP和
AC自动机
KMP只贴下代码哈,资料网上很多的啦~例题POJ3461#include#include#includeusingnamespacestd;constintmaxn=1000010;chara[maxn],b[maxn];intnext[maxn],la,lb;voidbuild(){next[0]=0;for(inti=1,j=0;ifail=j表示1-j是1-i的最大后缀沿着fa的失配点不断向
Aqua_blue
·
2016-02-04 18:10
字符串
板子
hihocoder-1036 Trie图(Trie图||
AC自动机
)
此处有目录↑Trie图:http://hihocoder.com/problemset/problem/1036时间限制:20000ms单点时限:1000ms内存限制:512MB描述前情回顾上回说到,小Hi和小Ho接受到了河蟹先生伟大而光荣的任务:河蟹先生将要给与他们一篇从互联网上收集来的文章,和一本厚厚的河蟹词典,而他们要做的是判断这篇文章中是否存在那些属于河蟹词典中的词语。当时,小Hi和小Ho
idealism_xxm
·
2016-02-04 14:00
Trie图
hihoCoder
poj2778 DNA Sequence
AC自动机
dp 矩阵乘法
poj2778DNASequence题意:求仅有AGCT不含有k(k #include #include #include #definelllonglong usingnamespacestd; constintL=15,N=105,Mo=100000; structM{ lla[N][N]; }ori,res,tmp; intf[N],val[N],ch[N][4],sz; queueq; v
yxr0105
·
2016-02-03 01:00
dp
poj
AC自动机
矩阵乘法
hdu2222&hdu3065
AC自动机
模板题
不贴链接了裸题主要想练习模板hdu2222:求目标串中出现了几个模式串。(不重复)hdu3065:求目标串中出现了几个模式串。(可重复)hdu2222:#include #include #include #include #include usingnamespacestd; constintN=1000005; constintM=500005; structAhoCorasick{ intf
yxr0105
·
2016-02-03 00:00
HDU
AC自动机
AC自动机
入门
转自:(飘过的小牛)http://blog.csdn.net/niushuai666/article/details/7002823
AC自动机
简介: 首先简要介绍一下
AC自动机
:Aho-Corasickautomation
sxy_cnyali
·
2016-02-02 23:00
HDU 4518 解题报告
因为斐波那契数是字符串,而且数位dp是一个字符一个字符加上去的,无论是用map映射,还是hash数组,都不好转移,我们利用
ac自动机
里面,每个单词的结尾部分的节点值就表示这个单词,那么状态就完美解决了,
CQU_HYX
·
2016-02-02 21:33
动态规划字符串
poj3691 DNA repair dp
AC自动机
poj3691DNArepair题意:求母串最少改变几个字母是母串的子串不含有匹配串。题解:实在没有力气并没有理解呜呜呜贴一个我认为不错的吧http://blog.csdn.net/wugj03/article/details/6763145#include #include #include #include usingnamespacestd; constintN=1005; constint
yxr0105
·
2016-02-01 22:00
dp
poj
AC自动机
(
AC自动机
+DP)
依然是水水的
AC自动机
+DP。。做完后发现居然和POJ2778是一道题,回过头来看都水水的。。。
WABoss
·
2016-01-31 21:00
HDU3341 Lost's revenge(
AC自动机
+DP)
题目是给一个DNA重新排列使其包含最多的数论基因。考虑到内存大概就只能这么表示状态:dp[i][A][C][G][T],表示包含各碱基个数为ACGT且当前后缀状态为自动机第i的结点的字符串最多的数论基因数其中ACGT可以hash成一个整数(a*C*G*T+c*G*T+g*T+T),这样用二维数组就行了,而第二维最多也就11*11*11*11个。接下来转移依然是我为人人型,我是丢进一个队列,用队列来
WABoss
·
2016-01-31 18:00
HDU2296 Ring(
AC自动机
+DP)
依然是入门的
AC自动机
+DP题。。不一样的是这题要输出具体方案,加个字符数组记录每个状态最优情况的字符串即可。
WABoss
·
2016-01-30 23:00
HDU4057 Rescue the Rabbit(
AC自动机
+状压DP)
题目大概是给几个DNA片段以及它们各自的权值,如果一个DNA包含某个片段那么它的价值就加上这个片段的权值,同时包含多个相同DNA片段也只加一次,问长度l的DNA可能的最大价值。与HDU2825大同小异。dp[i][j][S]表示长度i(自动机转移i步)、后缀状态为自动机第j个结点、包含的DNA片段为集合S的DNA最大价值dp[0][0][0]=0我为人人转移,从dp[i][j][S]向ATCG四个
WABoss
·
2016-01-30 19:00
HDU2825 Wireless Password(
AC自动机
+状压DP)
dp[i][j][S]表示长度i(在自动机上转移k步)且后缀状态为自动机上第j个结点且当前包含咒语集合为S的方案数dp[0][0][0]=1还是用我为人人转移,
AC自动机
上的结点要多一个域表示这个结点所代表咒语前缀包含的咒语集合
WABoss
·
2016-01-30 11:00
hdu4057
ac自动机
+dp(我用的方法)
顺便纪念一下
ac自动机
系列的完成!那么说正题,这道题显然就是先建
ac自动机
了,题目要求每个串只能被计算一次,这种情况用一般的做法就难办了。
the301stdoub
·
2016-01-29 23:00
hdu3247 深刻理解
ac自动机
+bfs预处理最短路+状压DP
这题卡了我好久啊,蛋疼死我了,一开始还搜了个有错还能ac的代码。。。最后看着kuangbin大神的代码慢慢单步执行理解我写的哪里不对,然后发现他的代码也有点小bug==,最后改了改他的就默默收藏起来了贴出来是想着谁看到了的话就放心拿去对拍或者学习吧,我叫雷锋(虽然没人会看到的样子代码#include #include #include #include #include #include #inc
the301stdoub
·
2016-01-28 21:00
POJ2778 DNA Sequence(
AC自动机
+矩阵快速幂)
所有病毒串构造一个
AC自动机
,这个
AC自动机
可以看作一张有向图,图上的每个顶点就是Trie树上的结点,每个结点都可以看作是某个病毒串的前缀,Trie树的根则是空字符串。
WABoss
·
2016-01-28 17:00
【SDOI2014】数数
一个字符串在另一个字符串集合中操作,很容易想到
AC自动机
。如果要做DP,首先有一个i表示从高位到低位,做到第i位。要在
AC自动机
中匹配,还要加一个j,表示当前在
AC自动机
中节点为j。
Facico
·
2016-01-28 15:11
字符串
ac自动机
数位DP
省选
【SDOI2014】数数
一个字符串在另一个字符串集合中操作,很容易想到
AC自动机
。如果要做DP,首先有一个i表示从高位到低位,做到第i位。要在
AC自动机
中匹配,还要加一个j,表示当前在
AC自动机
中节点为j。
doyouseeman
·
2016-01-28 15:00
字符串
AC自动机
数位dp
[NOI2011][JZOJ2784]阿狸的打字机
1≤n,m≤100000题目分析这道题需要灵活运用
AC自动机
的性质。我搞了一个下午,发现自己原先对
a_crazy_czy
·
2016-01-27 19:00
数据结构
字符串
AC自动机
OI
NOI
AC自动机
(模板)
1#include 2#include 3#include 4#include 5#include 6#include 7 8usingnamespacestd; 9 10intn,ans[500000+5]; 11charstr[55][500000+5]; 12 13structAcAutomaton{ 14staticconstintN=500000+10; 15
Provence_By_Sigma
·
2016-01-26 17:00
寒假集训日志(四)——字符串算法(KMP,Manacher,
AC自动机
)
2.Manacher算法:用来求回文字串的3.字典树(Trie):这个基本也就是一种数据结构了,涉及了树的构建,插入,遍历4.
AC自动机
:其实也就是KMP算法和Trie的结合虽然基本弄懂了原理
W2W
·
2016-01-25 16:00
寒假集训日志(四)——字符串算法(KMP,Manacher,
AC自动机
)
2.Manacher算法:用来求回文字串的3.字典树(Trie):这个基本也就是一种数据结构了,涉及了树的构建,插入,遍历4.
AC自动机
:其实也就是KMP算法和Trie的结合虽然基本弄懂了原理
W2W
·
2016-01-25 16:00
ZOJ 3430 Detect the Virus ac 自动机
DetecttheVirus(
ac自动机
)TimeLimit:2000MS MemoryLimit:65536KB 64bitIOFormat:%lld&%lluSubmit Status
wr132
·
2016-01-23 23:00
ZOJ
the
virus
自动机
ac
Detect
3430
ac自动机
c./*
ac自动机
模板 n个关键字,1段描述,求描述中出现了多少关键字 */ #include #include #include #include usingnamespacestd
搏风雨
·
2016-01-23 20:00
ac自动机
c./*
ac自动机
模板 n个关键字,1段描述,求描述中出现了多少关键字 */ #include #include #include #include usingnamespacestd
搏风雨
·
2016-01-23 20:00
HDU 2222 Keywords Search
AC自动机
小试牛刀
KeywordsSearchTimeLimit:1000MS MemoryLimit:131072KB 64bitIOFormat:%I64d&%I64uSubmit Status Practice HDU2222DescriptionInthemoderntime,SearchenginecameintothelifeofeverybodylikeGoogle,Baidu,etc
wr132
·
2016-01-23 16:00
search
HDU
AC自动机
keywords
小试牛刀
2222
hdu 3065 病毒侵袭持续中(
ac自动机
)
Description小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,小t首先要做的是知道这个病毒网站特征:包含多少不同的病毒,每种
u014552756
·
2016-01-23 01:00
hdu 2896 病毒侵袭(
AC自动机
)
Description当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋――我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~ 但网路上总有那么些网站,开始借着民众的好奇心,打着介绍日食的旗号,大肆传播病毒。小t不幸成为受害者之一。小t如此生气,他决定要把世界上所有带病毒的网站都找出来。当然,谁都知道这是不可能的。小t却执意要完成
u014552756
·
2016-01-23 00:00
ACM算法列表
Treap伸展树并查集集合计数问题二分图的识别平衡二叉树二叉排序树线段树一维线段树二维线段树树状数组一维树状数组N维树状数组字典树后缀数组,后缀树块状链表哈夫曼树桶,跳跃表Trie树(静态建树、动态建树)
AC
dg357442101
·
2016-01-20 22:00
ACM
【bzoj3940】[Usaco2015 Feb]Censoring
AC自动机
同3942,把KMP换成
AC自动机
。开一个栈,记录一下每个位置匹配到哪个节点,如果是单词节点,那么弹出对应长度的字符串。
u012288458
·
2016-01-18 15:00
BZOJ2905 : 背单词
首先对所有单词建立
AC自动机
,$S$是$T$的子串等价于$T$的某个前缀通过$fail$链可以走到$S$的终止节点,即$S$的终止节点是$T$某个前缀在$fail$树上的祖先。
Claris
·
2016-01-12 18:00
AC自动机
(二维) UVA 11019 Matrix Matcher
题目传送门题意:训练指南P218分析:一行一行的插入,一行一行的匹配,当匹配成功时将对应子矩阵的左上角位置cnt[r][c]++;然后统计cnt[r][c]==x的数量#include usingnamespacestd; constintN=1e3+5; constintNODE=1e4+5; constintSIZE=26; charmat1[N][N],mat2[105][1
Running_Time
·
2016-01-12 11:00
AC自动机
+全概率+记忆化DP UVA 11468 Substring
题目传送门题意:训练指南P217分析:没有模板串也就是在自动机上走L步,不走到val[u]==v的节点的概率PS:边读边insertWA了,有毒啊!#include usingnamespacestd; constintK=20+5; constintL=100+5; constintNODE=K*K; constintSIZE=66; intidx[256],n; struc
Running_Time
·
2016-01-12 11:00
AC自动机
LA 4670 Dominating Patterns
题目传送门题意:训练指南P216分析:求出现最多次数的字串,那么对每个字串映射id,cnt记录次数求最大就可以了。#include usingnamespacestd; constintN=150+5; constintNODE=N*70; constintLEN=1e6+5; constintSIZE=26; structAC{ intch[NODE][SIZE],fail[
Running_Time
·
2016-01-12 11:00
BZOJ 3172: [Tjoi2013]单词|后缀数组
这个
ac自动机
做法貌似很显然然而我用的后缀数组(专业制造麻烦……其实就是为了练后缀数组)这题二分答案会有很多坑爹的地方原因就是这height数组存的是suffix(sa[i])和suffix(sa[i-
ws_yzy
·
2016-01-11 09:00
后缀数组
二分
codeforces 163E e-Government
AC自动机
+fail树DFS序+树状数组#include#include#include#include#include#include#includeusingnamespacestd;#defineN1000010intn
Clarehehe
·
2016-01-11 08:13
Ac自动机
CODEFORCE 126B Password
课件上说用
Ac自动机
做,但是我想这毕竟是个B题,然后就用KMP水了。。
Clarehehe
·
2016-01-10 23:55
KMP
HDU2825 Wireless Password
复习一下
Ac自动机
,我都不会写了。。
Clarehehe
·
2016-01-10 22:13
Ac自动机
2434: [Noi2011]阿狸的打字机 fail树+dfs序+树状数组
一天内做了两道
AC自动机
两道fail树的题目(好吧本质都一样啊就是fail树的不同应用→→),感觉对fail树的理解逐渐加深。
Phenix_2015
·
2016-01-10 22:00
3172: [Tjoi2013]单词 fail树
首先建一棵Trie,我们考虑
AC自动机
中fail指针的含义。与KMP中的fail指针相似,它指向的位置代表了一个相同前后缀。
Phenix_2015
·
2016-01-10 11:00
1030: [JSOI2007]文本生成器
AC自动机
+DP
我们要求合法的数量,直接求不好求,正难则反。答案就等于所有26^m-不合法的数量。不合法的数量怎么求呢?首先构造一棵Trie,不妨设f[i][j]表示走了i步,当前在Trie上的j点,不合法状态的方案数。我们给每个串的最后一位打一个lable,当j节点没有标记时,它就可以继续转移,否则不能转移。#include #defineM10007 usingnamespacestd; intn,m,cnt
Phenix_2015
·
2016-01-10 09:00
HDU2222: Keywords Search
AC自动机
挂一个模板题QAQ(其实是我忘了
AC自动机
怎么写了)#include #defineN500005 usingnamespacestd; intT,n,cnt,ans,a[N][27],sum[N],p
Phenix_2015
·
2016-01-10 07:00
HDU 2825 Wireless Password
AC自动机
+状压DP
分析:因为这个题不是问的密码字串必须全部包含,所以不能矩阵加速==果然n的大小变得很小只有25可以用状压DP来做,具体是每个
AC自动机
内的节点都编个号,然后getfail的时候像以前矩阵加速getfail
Quack_quack
·
2015-12-30 22:00
[bzoj3530][SDOI2014]数数
AC自动机
上的DP将集合内所有字符串建出一颗
AC自动机
。那么,我们需要预处理一个这样的next[i,j]表示在结点i上接下要走j的话会调整到的结点是什么。(即预处理所有可能出现的调整结果
WerKeyTom_FTD
·
2015-12-30 19:00
两个
AC自动机
+矩阵的题
先把n个匹配串建成
AC自动机
,然后根据trie图建矩阵,最后矩阵快速幂求解。建
AC自动机
要注意这些矩阵的题,next数组必须有值。初始值为-1方便更新。
Quack_quack
·
2015-12-25 00:00
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他