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自动机
-去除敏感字符
AC自动机
AC自动机
:Aho-Corasickautomation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是打游戏聊天时,你说的一些铭感词会变成‘*’。
尼桑麻
·
2020-02-22 10:53
洛谷P4052 [JSOI2007]文本生成器
AC自动机
上dp
网址:https://www.luogu.com.cn/problem/P4052题意:给出$n$个长度为$m$的字符串,求长度为$k$的仅包含大写字母的字符串中至少包含一个给定的字符串的字符串的数量,结果对$10007$取模$(n\leq60,m\leq100,k\leq1200)$。题解:正向考虑似乎比较困难,要找恰好有$1,2,......n$个模式串的字符串。所以我们反向考虑,求所有方案减
Aya_Uchida
·
2020-02-18 12:00
POJ2778 DNA Sequence
AC自动机
上dp
网址:https://vjudge.net/problem/POJ-2778题意:给出字符集${A,C,G,T}$和一些字符串(长度不超过$10$,且数量不超过$10$个),求长度为$n(n\leq2e9)$的字符串中不包括上面这些字符串的字符串的数量。题解:我们可以先考虑一种方式:设$dp(i,j)$是用了$i$个字符拼出符合题意的长度为$j$的字符串的数量,在本题中$dp(i,j)=\sum_
Aya_Uchida
·
2020-02-18 12:00
AC自动机
参考资料:
AC自动机
GIF动图(来自油管)以下文章节选自:王争老师
AC自动机
:如何用多模式串匹配实现敏感词过滤功能?
RainingMan
·
2020-02-17 19:19
【
AC自动机
】
AC自动机
可以帮你自动AC吗
参考博文:
AC自动机
算法详解(转载)(原文作者:DarkRaven,原文的链接失效了)图片来源:
AC自动机
算法详解(转载)主要内容:什么是
AC自动机
AC自动机
用来做什么前置知识算法分析代码实现什么是
AC
jenye_
·
2020-02-16 00:36
uva-11468
AC自动机
+dp(记忆化搜素)https://vjudge.net/problem/UVA-11468思路:构造出
AC自动机
后,把所有单词节点标记为禁止,就转化为从0节点走L步不进入任何禁止节点的概率。
kayiko
·
2020-02-13 23:00
AC自动机
&HDU-2896
上一次所使用的模板和练习题适用于输入的待匹配的串不唯一的情况下,也就是该串可能会多次输入。而这次这道题,要求每个模式串只输入一次。以下是AC代码。#include#include#include#includeusingnamespacestd;intsum=0;structnode{node*fail;node*nnext[128];intncount;node(){fail=NULL;mems
idella
·
2020-02-11 03:58
数据结构与算法Day29----字符串匹配(五):
AC自动机
一、如何实现敏感词过滤:1、基于单模式串实现的敏感词过滤:、单模式串匹配算法: 是在一个模式串和一个主串之间进行匹配,也就是说,在一个主串中查找一个模式串。BF算法、RK算法、BM算法、KMP算法都是单模式匹配算法。、基于单模式串实现敏感词过滤的方法: 针对每个敏感词,通过单模式串匹配算法(比如KMP算法)与用户输入的文字内容进行匹配。但是,这样做的话,每个匹配过程都需要扫描一遍用户输入的内容
墨殇染泪
·
2020-02-10 03:54
ac自动机
Input第一行为一个整数n,表示文本的长度第二行为一个长度为n的文本第三行为一个整数m,表示模式串个数下接m行,每行一个模式串Output共m行,若第i个模式串在文本中出现过则第i行输出YES,否则输出NO数据范围对于30%的数据,nusingnamespacestd;constintMAXN=1e6+10;structTrie{intson[26];intcnt;intfail;}AC[MAX
我微笑不代表我快乐
·
2020-02-06 12:00
洛谷P3796
题解:
ac自动机
模板加强版,开一个数组单独记录各个字符串出现的次数,找出最多的即可。(数组一定要初始化!!不然会mle!
tle选手的成长之路
·
2020-02-05 00:00
K 破忒头的匿名信(
ac自动机
+小dp)
题:https://ac.nowcoder.com/acm/contest/4010/K题意:用一些模式串凑成一个目标串,每个模式串有消耗,问组合的最小消耗,或不能组成输出-1;分析:典型的
AC自动机
处理后在跳
starve_to_death
·
2020-02-03 23:00
hdu2222 Keywords Search
题解:妥妥的
ac自动机
(多模匹配算法),是个模板题。
tle选手的成长之路
·
2020-02-03 22:00
hdu2222 (
AC自动机
模板)
题:http://acm.hdu.edu.cn/showproblem.php?pid=2222学习出:https://bestsort.cn/2019/04/28/402/主要是fail的建立。在跳的过程就是不断跳fail,而不是跳到一个fail再往下!!#include#include#include#include#includeusingnamespacestd;typedeflonglo
starve_to_death
·
2020-02-03 15:00
[JSOI2007] 文本生成器 -
AC自动机
,dp
//Whichpatternstringoccurredforthemosttimes#includeusingnamespacestd;structACA{queueq;intc[500005][26],val[500005],fi[500005],cnt,ans[1005];vectorg[500005];voidinit(){memset(c,0,sizeofc);memset(val,0,
Mollnn
·
2020-02-03 10:00
BZOJ 2434: [Noi2011]阿狸的打字机
很早以前就想写这题了,但一直鸽到今天,不过对
AC自动机
的理解更加到位了的说首先我们把原串的
AC自动机
建出来,由于这里的删除是回退操作,因此我们记录一下每个点的父亲,遇到B就把指针移到父亲节点即可考虑
AC
hl666
·
2020-02-01 21:00
BZOJ 1444: [Jsoi2009]有趣的游戏
一道重拾
AC自动机
的题,可以看作BZOJ4820:[Sdoi2017]硬币游戏的弱化版考虑一个暴力的想法,我们把所有串扔进一个
AC自动机
里,然后在fail树上跑DP,假设\(f_x\)表示节点\(x\)
hl666
·
2020-01-31 21:00
[洛谷P3796][题解][模板]
AC自动机
至于
AC自动机
基础的话推荐yyb'sblog如果看了还是不会的话就像我一样啃一整天画个图想一想就好啦
AC自动机
其实就是一种多模匹配算法,他约等于KMP思想+Trie结构(反正说了也没用)这道题主要是注意统计答案
Konnyaku_ajh
·
2020-01-28 20:00
洛谷2444:病毒
思路:
AC自动机
。
AC自动机
是一个多模式匹配的数据结构。我们首先构造\(trie\)树并构建\(fail\)指针。
zhaoxiaoyun
·
2020-01-25 22:00
图解
AC自动机
图解
AC自动机
前言:我们引出这样一个问题:我想知道字符串\(t\)在字符串中\(s\)出现多少次/有没有出现?那我们可以使用kmp算法求出\(t\)的next数组,之后\(O(n)\)匹配求解即可。
zhaoxiaoyun
·
2020-01-24 04:00
Trie
是
AC自动机
的前置技能。Trie,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。
macesuted
·
2020-01-22 20:44
算法
数据结构和算法(五):图、深度优先搜索和广度优先搜索、字符串匹配算法、Trie树、
AC自动机
从广义上来讲:数据结构就是一组数据的存储结构,算法就是操作数据的方法数据结构是为算法服务的,算法是要作用在特定的数据结构上的。10个最常用的数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树10个最常用的算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法本文总结了20个最常用的数据结构和算法,不管是应付面试还是工作需要,只要集中
冰风v落叶
·
2019-12-30 20:02
省选模拟3
B.坏题由于是多串匹配问题,所以不难想到
AC自动机
。建出Trie图之后,考虑如何在上面dp,观察那
Hzoi_tdcp
·
2019-12-28 20:00
字典树&&
AC自动机
目录字典树
AC自动机
字典树首先是字典树:https://blog.csdn.net/forever_dreams/article/details/81009580大佬博客又称单词查找树,Trie树,是一种树形结构
蒟蒻四毛
·
2019-12-19 17:00
洛谷P2414 [NOI2011]阿狸的打字机
那么一种比较暴力的做法就是,建出
AC自动机
,把询问按y排个序,遍历trie树,每次暴力跳fail,开个cnt数组维护对每个x的答案。
Chloris_Black
·
2019-12-13 07:00
字符串做题笔记
AC自动机
:P5357【模板】
AC自动机
(二次加强版)·不要像以前一样习惯性把trie树的根设为1,从0开始的话后面getfail比较方便。
Chloris_Black
·
2019-12-12 09:00
UVA 11019 Matrix Matcher ( 二维字符串匹配,
AC自动机
|| 二维Hash )
解:法一:
AC自动机
(正解)670ms把模式串的每一行当成一个字符串,建一个
AC自动机
。
Willems
·
2019-12-08 16:00
POJ 2778 DNA Sequence (矩阵快速幂 + AC自动鸡)
解:对m个病毒串,建
AC自动机
,然后,这个
AC自动机
就类似于一张有向图,可以用邻接矩阵存这张有向图。最多10个病毒串,每个病毒串长度不超过10,那最多是个100*100的矩阵,可以接受。
Willems
·
2019-12-08 09:00
UVA 11468 Substring (记忆化搜索 + AC自动鸡)
解:记忆化搜索+
AC自动机
。对模式串建一个
AC自动机
,不需要last[]和val[],只需要一个metch[]。维护一下这个点是否是某个模式串的最后一个字符节点,若是,则这个点不能走。然后,剩下的就
Willems
·
2019-12-07 22:00
随笔|AI设计之状态机
有限状态机最近尝试写ai,又看了下状态机,其实之前就用过
ac自动机
,不过是用来处理字符串,实际上
ac自动机
也是一个有限状态机的一种而已。有限状态机常常被称作FSM,在人工智能编程上应用还是很广泛的。
bakaqian
·
2019-12-01 19:43
Project BZOJ
自述 在高中省选失败之后,似乎就对以前尝试过的东西都有了一些心理阴影(包括但不限于
AC自动机
,莫比乌斯反演等没能学完的算法,以及BZOJ,UOJ等高中时使用过的OJ)。
Kilo-5723
·
2019-11-28 21:00
一些bug
长期留坑1.
AC自动机
多模式串匹配问题对于要统计各个模式串在文本中的出现次数,对于每个当前节点不能直接暴力跳$fail$复杂可以退化到$O(n^2)$$aaaaaa……aaa$可以卡掉要将$fail$指针反向建出来
Dawns~
·
2019-11-20 21:00
AC自动机
_多组字符串匹配
病毒侵袭#include#include#include#includeusingnamespacestd;constintMAXN=4000010;intarr[5];structNode{intid;intcurr;Node*fail;Node*next[128];voidinit(){id=0;curr=0;fail=NULL;memset(next,NULL,sizeof(next));}
Gitfan
·
2019-11-08 19:57
[备份]算法模板大集锦
二、目录1、网络流Dinic算法2、Tarjan算法3、倍增LCA4、
AC自动机
5、主席树6、BKDRHash三、正文1、网络流Dinic算法1#includ
jinkun113
·
2019-11-08 16:00
(
AC自动机
)(矩阵快速幂)
题目描述BarneywashangingoutwithNoraforawhileandnowhethinkshemayhavefeelingsforher.Barneywantstosendheracheesytextmessageandwantstomakeherashappyaspossible.Initially,happinesslevelofNorais00.Noralovessomep
ezoi_ly
·
2019-11-02 08:00
AC自动机
及多模式匹配
在接触
AC自动机
之前,只仅仅掌握单模式匹配的算法:比如KMP、BMH等算法;经过优化后,KMP和BMH都具有线性时间复杂度,而实际情况下,一般的匹配问题BMH具有亚线性的表现。
胡哈哈哈
·
2019-11-01 01:06
2019年icpc区域赛银川站总结
二、10月19日热身赛热身赛锅挺多的,40分钟后才可以交题,A题是直接输出答案的超简单题目,C题
AC自动机
,赛前正好学过,所以难度倒是不大,照着模板改了下,尝试了各种案例都完美解决,但
Tiny_W
·
2019-10-22 20:00
CSPS模拟 82
)总分260大概是省三水平不过和迪神并列了感觉还是很荣niu幸bi的~T1考场上我弃了因为是数学题,还要推柿子一看就没T2字符串和T3模拟清真然而打打表好像很好找规律的吧我好像没什么打表技能的..T2
AC
Yxsplayxs
·
2019-10-22 20:00
(CF-1202E)(
AC自动机
)
文章目录题目思路代码思考题目CF思路我们发现如果每次枚举拼接是O(n2)∼O(n3)O(n^2)\simO(n^3)O(n2)∼O(n3)的于是我们可以采用ACAC
AC自动机
来解决,处理出对于位置iii
Liang-梁
·
2019-10-21 11:19
CodeForces
AC自动机
(CF-1202E)(
AC自动机
)
文章目录题目思路代码思考题目CF思路我们发现如果每次枚举拼接是O(n2)∼O(n3)O(n^2)\simO(n^3)O(n2)∼O(n3)的于是我们可以采用ACAC
AC自动机
来解决,处理出对于位置iii
Liang-梁
·
2019-10-21 11:19
CodeForces
AC自动机
ac自动机
暴力跳fail匹配——hdu5880
很简单的题,
ac自动机
里再维护一个len表示每个状态的串长,用s去query时每到一个结点都要暴力跳fail,因为有可能这个结点不是,但是其fail是危险结点,找到一个就直接break再用个差分数组快速统计覆盖情况即可
zsben
·
2019-10-19 22:00
ac自动机
fail树上按询问建立上跳指针——cf963D
解法看着吓人,其实就是为了优化
ac自动机
上暴力跳fail指针。。
zsben
·
2019-10-18 22:00
Codeforces 1207G Indie Album
AC自动机
IndieAlbum我的写法是对询问串建
ac自动机
,原来的串建trie图,然后两边同时跑,最后dsuontree+bit统计。。
NotNight
·
2019-10-14 21:00
hdu2222(
AC自动机
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222KeywordsSearchTimeLimit:2000/1000MS(Java/Others)MemoryLimit:131072/131072K(Java/Others)TotalSubmission(s):87731AcceptedSubmission(s):30561ProblemDesc
风雨兼程-zhi
·
2019-10-14 21:00
AC自动机
总结
AC自动机
前置知识Trie树,bfs……没什么好说的。算法实现我们考虑将所有的模式串放到一颗\(Trie\)树,如果匹配失败的话转移到\(fail\)指针上面去,这样子复杂度就是\(O(n)\)的了。
fexuile
·
2019-10-13 17:00
[51nod1587]半现串
将s所有长度为d/2的子串放进
ac自动机
中,直接匹配就可以判定半现串了再对其做一个差分,询问一个前缀的半现串个数,在
ac自动机
上数位dp,f[i][j][0/1]表示走了i步(i位的字符串),走到节点j
PYWBKTDA
·
2019-10-07 06:00
字符串——
AC自动机
目录一、前言二、思路三、代码四、参考资料一、前言以前一直没学
AC自动机
,主要是被名字吓到了,自动AC,这么强的名字肯定很难,学了后才发现,其实不难。
Tiny_W
·
2019-10-01 14:00
字符串训练之一
解题技巧:提取关键字:句子......前缀.....好的学过
AC自动机
的就应该知道了但现在有要求是最长又是个最值问题:dp?贪心?
wzx_believer
·
2019-09-29 18:00
bzoj5147&&bzoj2121&&loj6701 字符串游戏
做不出来杂题,到处找题做看到$loj$上新出了一道题,觉得很神仙不错,还记得Censoring吗(一个
AC自动机
的题)这个题求最优解,数据范围$150$题解数据范围非常小,首先贪心肯定不行,考虑
AC自动机
上
.texas
·
2019-09-24 16:00
HDU3065 病毒侵袭持续中
AC自动机
网址:https://vjudge.net/problem/HDU-3065题意:给出$n$个模式串和一个文本串,字符集为可见字符,找出模式串在文本串中的出现次数。题解:$AC$自动机的模板题,建出$Trie$图之后跳$fail$指针匹配统计数量然后按题目要求输出即可。AC代码:#include#include#include#include#includeusingnamespacestd;in
Aya_Uchida
·
2019-09-21 00:00
HDU2896 病毒侵袭
AC自动机
网址:https://vjudge.net/problem/HDU-2896题意:给出$n$个模式串和$m$个文本串,求文本串中出现的模式串的编号。注意:字符集为可见字符。题解:$AC$自动机模板题,参考本博客的$HDU2222$的题解。网址:https://www.cnblogs.com/Aya-Uchida/p/11560405.html。AC代码:#include#include#inclu
Aya_Uchida
·
2019-09-20 23:00
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他