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自动机
】 HDOJ 5164 Matching on Arrayy
先对原串和匹配串相连做商,然后建立
AC自动机
做匹配就行了,注意用map存边。。。
blankcqk
·
2015-01-25 10:00
AC自动机
BestCoder
BZOJ 3881 Coci2015 Divljak fail树+树链的并
S集合中的所有字符串,不断向T集合中添加字符串,以及询问S集合中的某个字符串在T集合中的多少个字符串中出现过神题--首先对S集合的所有字符串构建fail树T集合中每加入一个字符串,我们就将这个字符串在
AC
PoPoQQQ
·
2015-01-22 15:00
树状数组
AC自动机
bzoj
BZOJ3881
fail树
【BZOJ】【P3881】【Coci2015】【Divljak】【题解】【
AC自动机
】
id=3881感谢TimeMachine神犇的提醒对S建
AC自动机
,记录每个串的末尾结点插入就是在fail树上跑一遍,把经过且本次没有访问过的结点ans++询问O(1)如果在每个点挂链的话会T掉考虑所有的
u012732945
·
2015-01-21 20:00
bzoj
【BZOJ2434】【NOI2011】阿狸的打字机
AC自动机
首先我们需要建立
AC自动机
,然后再建个Fail树,之后发现 如果询问a串在b串中出现了几次,那么只需要看b串在
AC自动机
上所有的节点中有多少个节点,在a串的结束节点在Fail树上的子树中就可以了。
Vmurder
·
2015-01-19 16:00
题解
AC自动机
BZOJ2434
Noi2011
阿狸的打字机
【BZOJ3172】【Tjoi2013】单词
AC自动机
模板题
题解:水爆了,直接
AC自动机
瞎写就行。坑:……时隔一个半月的感动AC,竟然是因为这道题可以有重复单词233。
Vmurder
·
2015-01-14 16:00
单词
模板题
AC自动机
Tjoi2013
BZOJ3172
BZOJ 2553 BeiJing2011 禁忌
AC自动机
+矩阵乘法
题目大意:给定n个模式串,定义一个字符串的伤害为所有子串的划分中最多包含的模式串数量,求长度为len的字符串的伤害期望值小五prpr,恋恋prpr,二小姐prpr首先建立
AC自动机
令f[i][j]表示长度为
PoPoQQQ
·
2015-01-12 23:00
AC自动机
矩阵乘法
bzoj
BZOJ2553
2014年终总结
十二月份对HanLP的底层算法做了优化,包括实现双数组
AC自动机
hankcs
·
2014-12-31 23:00
Aho Corasick自动机结合DoubleArrayTrie极速多模式匹配
以前就在构想将
AC自动机
与双数组Trie树结合起来,考虑到持久化比较困难(goto和fail表是内存指针/引用),一直没下决心实现,今天终于成功了。
hankcs
·
2014-12-23 23:00
BZOJ 2434 NOI 2011 阿狸的打字机
AC自动机
构造fail树
首先按照题意不难建一个
AC自动机
出来,按照正常的思路,对于每一个询问都需要在
AC自动机
上暴力的查找。但这样时间会十分好看。于是我们想,fail指针构成的一定是一棵树,将这颗树的D
jiangyuze831
·
2014-12-10 15:00
字符串
AC自动机
bzoj
NOI2007
fail树
BZOJ 2754 SCOI 2012 喵星球上的点名 后缀数组
思路:好萌的题喵~
AC自动机
构造fail树是可以做的,但是和SA乱搞的时间差不多,我就是SA乱搞的w把所有的串(姓名,询问)用$连接成一个串,然后做后缀数组,height数组。
jiangyuze831
·
2014-12-10 10:00
字符串
后缀数组
SA
bzoj
SCOI2012
BZOJ 2754 SCOI2012 喵星球上的点名 fail树+set启发式合并
个模式串每个在多少个目标串中出现过,以及n个目标串每个以最多多少个模式串为子串我错了……就算用fail树+set启发式合并也优化不到O(nlog^2n)……这题的数据范围相当无解啊首先将所有名字和点名的字符串全都插进
AC
PoPoQQQ
·
2014-12-09 00:00
AC自动机
bzoj
启发式合并
fail树
BZOJ2754
BZOJ 3172 Tjoi2013 单词 fail树
题目大意及后缀数组做法见 http://blog.csdn.net/popoqqq/article/details/41042473原来正解是fail树……难怪后缀数组被卡成这样首先我们将给出的n个串构建
AC
PoPoQQQ
·
2014-12-08 20:00
AC自动机
bzoj
BZOJ3172
fail树
BZOJ 1030 JSOI 2007 文本生成器
AC自动机
+DP
题目大意:给出一些字符串。已知如果文章里出现过这些字符串中的一个,那么就说这个文章是可读的。问长度为l的文章有多少是可读的文章。思路:直接处理不太好弄,我们可以统计出来不可读的文章,然后用26^l减去就是可读的文章总数。将所有的字串建Trie图,然后设f[i][j]为文章的第i个字符Trie图中的第j个节点的时候不可读的文章的数量。转移就很简单了。注意一下取模就行了。CODE:#include #
jiangyuze831
·
2014-12-08 15:00
字符串
dp
Trie图
bzoj
JSOI2007
BZOJ 1030 JSOI2007 文本生成器
AC自动机
+DP
题目大意:给定n个模式串,求长度为m的至少含有一个模式串的字符串共有多少种照例,令f[i][j]表示长度为i的字符串与
AC自动机
上的第j个点匹配的方案数直接DP很难,我们考虑补集法,即用26^m减去不含任何模式串的字符串的数量后者就是经典的
PoPoQQQ
·
2014-12-08 13:00
dp
AC自动机
bzoj
BZOJ1030
【BZOJ】【P1030】【JSOI2007】【文本生成器】【题解】【
AC自动机
】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1030f[i][j][k]表示当前文本第i个,fail树节点第j个,未/已匹配f[i][j->ch][k|j->ch->val]+=f[i-1][j][k]ans=\sumf[m][i][1]Code:#include #include #include #include #include u
u012732945
·
2014-12-04 20:00
bzoj
【BZOJ】【P2938】【Poi2000】【病毒】【题解】【
AC自动机
】
id=2938这题写题解的人好像不多的样子……首先我们把所有串建一个
AC自动机
方便起见我们直接把fail指针合并到子结点如果一个串能无限长,也就是说它可以在
AC自动机
上一直进行匹配但就是匹配不上也就是说匹配指针不能走到
u012732945
·
2014-12-04 15:00
AC自动机
bzoj
【BZOJ】【P2802】【POI2012】【Warehouse Store】【题解】【贪心】
id=2802今天晚上事真是多啊……本来打算再写写
AC自动机
的然后被叫去看3786然后讨论点分治然后被鬼畜数学题虐翻然后想了很久3100然后什么也没做于是拿出珍藏已久的poi水题凑一下数……Code:#
u012732945
·
2014-12-02 22:00
bzoj
【BZOJ】【P3172】【Tjoi2013】【单词】【题解】【
AC自动机
】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3172指针模板Code:#include #defineidx(c)(c-'a') usingnamespacestd; constintmaxn=205; constintmaxlen=1e6+205; intn,len,anss[maxn]; chars[maxlen],str[maxle
u012732945
·
2014-12-02 15:00
AC自动机
bzoj
【HDU】【P2222】【Keywords Search】【题解】【
AC自动机
】
pid=2222裸·
AC自动机
Code:#include #include #include #include #include #include #include #defineidx(c)(c-'a
u012732945
·
2014-12-01 20:00
AC自动机
python字符串匹配工具性能比较
做敏感词过滤的时候要用到字符串匹配,从一个文件中读入需要匹配的敏感词,和一段文本去匹配,用string的find方法是不太合适了,搜了一下,发现
AC自动机
的方式更好。
刀心
·
2014-12-01 16:53
python
搜索引擎
search
关键词
matching
【恶补字符串Project】
大家都知道我不会字符串……,所有的字符串题都是hash乱搞的……该补一补了kmpTrie
AC自动机
(fail树)后缀数组后缀自动机最小表示法manacher*扩展kmp*后缀树以及在xxx上的各种dp待刷的题
u012732945
·
2014-11-30 10:00
bzoj
POJ 2096 Collecting Bugs 马尔可夫链 概率DP
AC自动机
的专题刷完了...开始刷概率了...题目大意:就是现在要从一个软件中找出bug,这个软件有s个子模块,一共有n种bug,现在每天你可以找到一个bug,这个bug属于任何一种bug和任何一个子模块都是等可能的
u013738743
·
2014-11-29 17:00
poj
bugs
2096
概率DP
Collecting
ZOJ 3494 BCD Code
AC自动机
+ 数位DP
题目大意:就是现在有0~9对应的BCD码(就是对应的4位的二进制),然后给出了n串(0 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #in
u013738743
·
2014-11-29 14:00
code
ZOJ
BCD
AC自动机
数位dp
3494
POJ 3691 DNA repair
AC自动机
DP
思路:
AC自动机
+DP,比较裸的题。先按照病毒串建立
AC自动机
(Trie图当然也可以),然后设出状态:f[i][j]表示匹配到原串第i个字符时,在
AC自动机
的j号节点时没有病毒串的最小花费。
jiangyuze831
·
2014-11-28 10:00
dp
动态规划
poj
AC自动机
HDU 2896 病毒侵袭 Trie图
思路:
AC自动机
挺裸的题,但是听说Trie图还好写,时间还快,以后就不写
AC自动机
了,直接啥题都上Trie图吧。注意:此题输出结尾要加回车,否则会PE!
jiangyuze831
·
2014-11-27 10:00
HDU
AC自动机
Trie图
不加nPE系列
HDU 2222 Keywords Search
AC自动机
题目大意:给出一些单词,和一个句子,问有多少个单词在句子中出现过。思路:来签到吧CODE:#include #include #include #include #include #defineP(a)((a)-'a') #defineMAX60 #define_MAX1000010 usingnamespacestd; chars[_MAX]; structTrie{ Trie*son[26
jiangyuze831
·
2014-11-26 19:00
HDU
AC自动机
SPOJ WPUZZLES (POJ 1204) 413.Word Puzzles
AC自动机
POJ1204和SPOJWPUZZLES一样..换了一下输入输出格式而已..题目大意:就是现在有一个游戏,给你一个L*C的字符块,只包含大写英文字母,现在你要在这个块中找到给出的所有的英语单词的位置和摆放方向。其中要找的单词在块中只出现一次,(实际上多个要找的块不会重合,这个游戏就是这样...)对于每个要找的字符串,输出其在块中起始位置的坐标和方向,方向只有8种,并且单词摆放不会拐弯..就是一条线
u013738743
·
2014-11-26 19:00
word
poj
spoj
AC自动机
1204
Puzzles
WPUZZLES
BZOJ 2434 NOI2011 阿狸的打字机 fail树+树状数组
题目大意:初始字串为空,首先给定一系列操作序列,有三种操作:1.在结尾加一个字符2.在结尾删除一个字符3.打印当前字串然后多次询问第x个打印的字串在第y个打印的字串中出现了几次卡了很久……到底还是对
AC
PoPoQQQ
·
2014-11-26 16:00
树状数组
AC自动机
bzoj
BZOJ2434
fail树
BZOJ 3172 TJOI 2013 单词
AC自动机
思路:应该是后缀数组把,但是我还不会,先用
AC自动机
水过去,但是发现一点都不水。。几乎调了一下午。
jiangyuze831
·
2014-11-26 15:00
后缀数组
AC自动机
bzoj
Tjoi2013
fail树
HDU 3247 Resource Archiver
AC自动机
+ BFS最短路 + 状压DP
题目大意:现在有n个(20)也可能是多个文件的结尾)两两之间的距离。那么就是一个简单的状压dp了,起始点是根节点,知道到达每一个点可以得到什么样的状态,花费是多少,就是一个常规的状压,状态转移方程见代码代码如下:Result : Accepted Memory : 1592KB Time : 46ms/* *Author:Gatevin *CreatedTime:2014/11/2418:43
u013738743
·
2014-11-24 19:00
resource
HDU
AC自动机
archiver
状压dp
3247
BFS最短路
HDU 3341 Lost's revenge
AC自动机
+ 变进制状压DP
题目大意:现在给出N(N #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; constd
u013738743
·
2014-11-23 20:00
HDU
AC自动机
losts
Revenge
3341
变进制状压
ZOJ 3228 Searching the String
AC自动机
题目大意:就是现在有N个(N #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; cons
u013738743
·
2014-11-22 19:00
String
ZOJ
searching
AC自动机
the
3228
HDU 2457 DNA repair
AC自动机
+ 动态规划
题目大意:就是现在有n(1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; const
u013738743
·
2014-11-22 15:00
动态规划
HDU
repair
AC自动机
dna
2457
HDU 2296 Ring
AC自动机
+ 动态规划
题目大意:就是现在给出m个串,每个串都有一个权值,现在你要找到一个长度不超过n的字符串,其中之前的m个串每出现一次就算一次那个字符串的权值,求能找到的最大权值的字符串,如果存在多个解,输出最短的字典序最小的串。当最大全权值为0时输出空串。输入最多100个子串,权值为不超过100的正整数。每个子串长度至少为1,不超过10,N #include #include #include #include #
u013738743
·
2014-11-22 14:00
动态规划
HDU
AC自动机
ring
2296
HDU 2825 Wireless Password
AC自动机
+ 状态压缩DP
题目大意:现在已知某wifi密码只包含小写字母,长度为n(1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingna
u013738743
·
2014-11-20 20:00
password
HDU
状态压缩dp
AC自动机
wireless
2825
BZOJ 1212 HNOI 2004 L语言 Trie树
PS:在BZOJ上Trie居然比
AC自动机
快,我的渣代码都刷到第一篇了。。。CODE:#include #include #include #include usingname
jiangyuze831
·
2014-11-20 17:00
字符串
Trie树
AC自动机
bzoj
HNOI2004
AC自动机
+ 动态规划 + 高精度
题目大意:就是现在给出N个字符(ASCII码在32以上)代表一种语言中的N个字母(1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inc
u013738743
·
2014-11-20 16:00
动态规划
poj
高精度
AC自动机
1625
HDU 2243 考研路茫茫――单词情结
AC自动机
+ 矩阵快速幂
题目大意:就是现在给出一些单词的词根,问长度不超过L(1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingname
u013738743
·
2014-11-19 19:00
HDU
2243
矩阵快速幂
AC自动机
考研路茫茫单词情结
POJ 2778 DNA Sequence
AC自动机
+矩阵快速幂
题目大意:现在给出m个(0 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; const
u013738743
·
2014-11-19 11:00
sequence
poj
矩阵快速幂
AC自动机
dna
2778
BZOJ 1212 HNOI2004 L语言
AC自动机
(Trie树)+动态规划
题目大意:给定一个单词表和m个字符串问每个字符串的最长的前缀,满足这个前缀可以拆分成一些字符串使这些字符串都在单词表中出现过再也不敢看错数据范围了……一道明明用Trie树能解决的问题居然被我写了
AC自动机
PoPoQQQ
·
2014-11-18 20:00
动态规划
Trie树
AC自动机
bzoj
BZOJ1212
ZOJ 3430 Detect the Virus
AC自动机
以内,然后是m个需要检测的样本,对于每组数据中的每个样本输出其包含几种不同的病毒,每组数据之后留一个空行大致思路:就是要先将base64状态下的各个病毒样本解码变成正常的字符串然后插入Trie树中,建立
AC
u013738743
·
2014-11-17 19:00
ZOJ
AC自动机
the
virus
Detect
3430
POJ 4052 Hrinity (金华邀请赛I题)
AC自动机
题目大意:就是给你n个压缩形式的字符串n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd
u013738743
·
2014-11-15 21:00
poj
AC自动机
Hrinity
4052
金华邀请赛
poj 3208 Apocalypse Someday(数位dp)
解题思路:数位dp,用类似
AC自动机
的思想进行转移。首先dp[i][j]表示说i位最后有j个连续6的情况数,这个预处理出来。那么dp[i][3]即为i位有多少个满足的数。给定n,先确定位数d。
u011328934
·
2014-11-13 20:00
zoj 3494 BCD Code(
AC自动机
+数位dp)
解题思路:
AC自动机
+数位dp。先对禁止串建立
AC自动机
,所有的单词节点即为禁止通行的节点。接着进行数位dp,用solve(r)-solve(l-1),这里的l需要用到大数减法。
u011328934
·
2014-11-13 20:00
hdu 3695 Computer Virus on Planet Pandora(
AC自动机
)
题目连接:hdu3695ComputerVirusonPlanetPandora题目大意:给定一些病毒串,要求判断说给定串中包含几个病毒串,包括反转。解题思路:将给定的字符串展开,然后匹配一次后反转后再匹配一次。#include #include #include #include #include #include usingnamespacestd; constintmaxn=250000
u011328934
·
2014-11-12 23:00
hdu 3341 Lost's revenge(
AC自动机
+变进制状压DP)
解题思路:这题很明显是
AC自动机
+DP,但是dp的状态需要开40∗40∗40∗40(记录每种字符的个数),空间承受不了,但是其实因为目标串的长度有限,为40;所以状态更本不需要那么多,最多只有10∗10
u011328934
·
2014-11-11 23:00
hdu 3247 Resource Archiver(
AC自动机
+BFS+DP)
解题思路:直接对所有串建立
AC自动机
,不能满足的串用同一种标记即可。然后处理出所有属于需要包含串的单词节点,用BFS处理出两两之间的距离,并且过程中是不能经过禁止节点。
u011328934
·
2014-11-11 22:00
poj 1699 Best Sequence(
AC自动机
+状压DP)
解题思路:
AC自动机
+状压DP,先对字符串构造
AC自动机
,然后在dp[s][i]表示匹配了s,移动到节点i时候的最短步数。
u011328934
·
2014-11-11 21:00
hdu 1277 全文检索(
AC自动机
)
题目链接:hdu1227全文检索题目大意:略。解题思路:就是普通的匹配问题,注意相同串,以及输出要按照出现顺序呢。#include #include #include #include #include #include usingnamespacestd; constintmaxn=10000*60; constintmaxm=10005; constintsigma_size=10; s
u011328934
·
2014-11-11 21:00
UVALive 5103 Computer Virus on Planet Pandora Description 求模式串出现的种数
AC自动机
题目链接:点击打开链接题意:case数n个模式串一个母串。问:n个模式串出现的种数(一个模式串多次出现只算一次)对于"ABC",若母串出现了"CBA"这样的反串,也算出现了。所以:1ABCCBA ans=1#include #include #include #include #include usingnamespacestd; constintmaxnode=250*1000+10000; c
qq574857122
·
2014-11-10 23:00
上一页
35
36
37
38
39
40
41
42
下一页
按字母分类:
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
其他