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自动机+KMP+Trie
poj2778
ac自动机
+矩阵快速幂
给m个子串,求长度为n的不包含子串的母串数,最直接的应该是暴搜,肯定tle,考虑用
ac自动机
将子串建成字典树,通过next表来构造矩阵,然后用矩阵快速幂求长度为n的数量邻接矩阵https://wenku.baidu.com
weixin_30268921
·
2020-07-15 02:49
poj 2778
AC自动机
+矩阵快速幂
题意:有m(10)个,长度最大为10的DNA序列,只包含A,T,C,G,这四个字母。这m个序列是有疾病的。然后问,有多少种长度为n(2e9)的DNA序列,不包含以上这些带疾病的序列。解析:这题的fail数组终于有卵用了!详细的解析看这篇博客:poj2778矩阵M[i,j]表示的是从i到j只走一步有多少种走法,所以M的n次幂就代表着从i到j走n步有多少种走法。代表的就是串长为n时,有多少种不包含以上
AlmostFree
·
2020-07-15 01:39
数论数学
字符串
poj 2778(
ac自动机
+矩阵快速幂)
题意:给出n个字符串(由字母ACGT组成),然后问一个长度为m的字符串(由字母ACGT组成)中不出现n个字符串中任意一个的种类是多少。题解:因为m的范围是20000000000,要用到矩阵快速幂加速运算,邻接矩阵mat[i][j]表示从节点i到节点j走一步有多少种走法,那么mat[i][j]^n是n步可达矩阵,也就是从节点i到节点j走n步有多少种走法,这个步骤用矩阵快速幂,可以根据trie图中到节
路小白_zZ
·
2020-07-15 01:28
ACM-AC自动机
ACM-矩阵快速幂
POJ 2778
ac自动机
+矩阵快速幂
DNASequenceTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:10757Accepted:4104DescriptionIt'swellknownthatDNASequenceisasequenceonlycontainsA,C,TandG,andit'sveryusefultoanalyzeasegmentofDNASequence,
_rabbit
·
2020-07-15 01:47
字符串杂题
DIVLJAK ——
ac自动机
其实就是一个
ac自动机
模板题一样的水题,只需要对n个字符串建树,然后每次增加字符串的时候跑一遍即可,但是要注意同一个字符串每个点最多只能增加一次,所以需要一个vis数组查看当前点是否这次已经标
天翼之城
·
2020-07-14 23:26
AC自动机
初学回文自动机
回文自动机和
AC自动机
有一些类似的地方,所以有兴趣的同学可以看这篇文章来了解
AC自动机
好了,在开始今天的正文之前,我们得先定义一些数组,以便更好的了解回文自动机。
stevensonson
·
2020-07-14 23:30
POJ2778 DNA Sequence(
AC自动机
+矩阵快速幂)
DescriptionIt’swellknownthatDNASequenceisasequenceonlycontainsA,C,TandG,andit’sveryusefultoanalyzeasegmentofDNASequence,Forexample,ifaanimal’sDNAsequencecontainssegmentATCthenitmaymeanthattheanimalmay
riba2534
·
2020-07-14 21:28
【AC自动机】
【快速幂/矩阵快速幂】
Substring UVA - 11468
AC自动机
+记忆搜索
Givenasetofpatternstrings,andatext,youhavetond,ifanyofthepatternisasubstringofthetext.Ifanyofthepatternstringcanbefoundintext,thenprint`yes',otherwise`no'(withoutquotes).But,unfortunately,thatsnotwhat
Nicolas Lee
·
2020-07-14 20:31
AC自动机
动态规划
算法竞赛入门-训练指南
Matrix Matcher UVA - 11019
AC自动机
题目链接GivenanN*Mmatrix,yourtaskistondthenumberofoccurencesofanX*Ypattern.分析:对于矩阵二的每行建立Trie,并在单词结尾结点记录走到该结点的为行数c(有多个可开数组记录),利用一个co[r][i]数组记录在矩阵一中以(r,i)为矩阵二的右上角,大小与矩阵二相同的矩阵包含的行数。对矩阵一每行均find()一遍,最后扫描co数组,统
Nicolas Lee
·
2020-07-14 20:31
算法竞赛入门-训练指南
AC自动机
网上讲的好的知识点汇总
Junlier/note/1292969我自己的得吹啊[x]图论总讲(校内知识)[x]动态规划总结[x]高精度模板汇总[x]莫队总结[x]可持久化并查集总结[x]求树的直径算法[x]模拟退火学习[x]
AC
eternal风度
·
2020-07-14 20:45
【UVA 11019 Matrix Matcher 】 二维Hash+尺取 / 二维
AC自动机
UVA-11019本体题意就是给你AB两个字符矩阵,问你B矩阵在A矩阵中的出现次数。Hash解法我们可以进行二维hash,其实就是把n个横向串连在一起hash。注意判相等的时候,我们不断进行尺取+hash,尺取的过程,我们删除当前第一行的hash值加上最后一行的hash值,删除第一行的hash值直接删去就可以例如AAAAAABBBBBBCCCCCC我们删去第一行的hash值相当于把矩阵变成了000
lajiyuan_
·
2020-07-14 19:21
UVA
Hash
AC自动机
洛谷 P3796 【模板】
AC自动机
(加强版)
题面传送门题解随便统计一下每个单词出现的次数详见代码#include#include#include#include#includeusingnamespacestd;intn,size,pos[155];structnode{intfail,lk[26],sum;boolmark;}ac[11000];chars[155][75],ss[1000010];inlinevoidinsert(cha
sillyf
·
2020-07-14 18:49
AC自动机
AC自动机
模板【洛谷3796】
AC自动机
的第三个模板其实,个人觉得,目前我写的这三个不同的模板完全是可以合并在一起求解的。只是,在这两个无关联的OJ上,同一个
AC自动机
都可以完成的问题被拆成了三道题而已。
小蒟蒻yyb
·
2020-07-14 17:58
洛谷
AC自动机
===字符串算法===
======题解======
======总结======
Trie树
UVA-11019 - Matrix Matcher(
AC自动机
)
所以先把P的每行看做一个模式串构造出
AC自动机
,然后在T中的各行逐一匹配,找到P中每一行的所有匹配点。只要在匹配时做一些附加操作,就可以把匹配出来的单一的行拼成矩形。
厌氧菌
·
2020-07-14 17:38
acm
poj2778 DNA Sequence(
AC自动机
+矩阵快速幂)
所有字符串之后ACGT这几个字符串组成解题思路:
AC自动机
+矩阵快速幂前置内容:邻接矩阵幂的含义:点击打开链接分析:首先根据题意先建一个
AC自动机
,其实
AC自动机
本身就是一张图,
AC自动机
中的每个结点就相当于图中的顶点
Think_Idea
·
2020-07-14 15:51
字符串
uva 11019 - Matrix Matcher --
AC自动机
所以就可以利用
ac自动机
来做了。以p的每一行来建立自动机。注意此题的一个陷阱:就是p的一些行可能是一样的,这样话在
ac自动机
里就得记录单词节点
LuckyqXd
·
2020-07-14 14:26
poj 2778 DNA Sequence
AC自动机
+DP+矩阵乘法 检测所有可能的n位DNA串有多少个DNA串中不含有指定的病毒片段
It'swellknownthatDNASequenceisasequenceonlycontainsA,C,TandG,andit'sveryusefultoanalyzeasegmentofDNASequence,Forexample,ifaanimal'sDNAsequencecontainssegmentATCthenitmaymeanthattheanimalmayhaveageneti
kongming_acm
·
2020-07-14 13:04
acm_数据结构
Luogu P3796 (
ac自动机
,求模式串在文本串中出现的次数)
AC自动机
的裸题,求模式串在文本串中出现的次数。并输出出现次数最多的字符串。还有的就是求模式串有没有在文本串中出现过。只要改一下询问中for循环就行。
Top_xiao
·
2020-07-14 13:03
#
AC自动机
HDU 2546 饭卡 01背包问题
走了算法一圈回来了,
AC自动机
,线段树等都学会了,但是遇
靖心
·
2020-07-14 13:19
Algorithm算法
UVA11019 Matrix Matcher (二维
AC自动机
)
题目:https://vjudge.net/problem/UVA-11019题意:给一个n*m大矩阵,一个x*y小矩阵;求小矩阵在大矩阵中出现次数。分析:将小矩阵按行插入Trie树中;结尾标记val为行号;注意有可能多行对应一个节点,因此val应为vector;find()大矩阵中每行,若出现匹配,则标记这次匹配对应的小矩阵右上角出现的位置;若一个位置被标记次数>=x,则为一次成功匹配。代码:#
Jerry99s
·
2020-07-14 12:05
字符串
AC自动机
luogu3796 【模板】
AC自动机
(加强版)
http://www.elijahqi.win/archives/2741题目描述有NN个由小写字母组成的模式串以及一个文本串TT。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串TT中出现的次数最多。输入输出格式输入格式:输入含多组数据。每组数据的第一行为一个正整数NN,表示共有NN个模式串,1\leqN\leq1501≤N≤150。接下去NN行,每行一个长度小于等于7070的模
elijahqi
·
2020-07-14 10:51
AC自动机
UVA - 11019 Matrix Matcher (
AC自动机
)
传送门思路:可以对于模式矩阵的每一行构造
AC自动机
,然后在目标矩阵的每一行找模式矩阵的每一行。
__meteor
·
2020-07-14 10:20
#
字符串
ACM
UVA11019----
AC自动机
(要深刻理解)*
Itemid=8&page=show_problem&problem=1960题目意思:给你一个n*m的字符矩阵再给你一个x*y的字符矩阵问你n*m的矩阵里面有多少个x*y的矩阵我把这道题目理解为一道二维的
AC
dr5459
·
2020-07-14 10:41
字符串
【luogu P3808
AC自动机
(简单版)】 模板
题目链接:https://www.luogu.org/problemnew/show/P3808#include#include#include#include#includeusingnamespacestd;constintmaxn=1000010;intn,trie[maxn][27],next[maxn],tot,vis[maxn];chars[maxn];queueq;void_inse
disnmlf23266651
·
2020-07-14 09:16
luogu3808 luogu3796
AC自动机
(简单版)
AC自动机
(加强版)
纪念一下我一晚上写了八遍
AC自动机
这是加强版的:#include#include#include#includeusingnamespacestd;intn,cnt[155],mp[155],len,maxn
dianjiaxian1205
·
2020-07-14 09:12
uva1399 - Puzzle
AC自动机
+记忆化搜索
JisungisthestudentrepresentativeoftheDepartmentofComputerEngineeringinACMUniversity.Afewdayslater,theannualfestivalwillbeheldforthestudentsinthedepartment.Heispreparingsomeeventsforthefestival.SinceJi
小小小小葱
·
2020-07-14 09:32
AC自动机
AC自动机
+矩阵快速幂
分析:首先将病毒的DNA序列建
AC自动机
,然后建fail指针。将每个点编号作为状态,然后可以得每个点走一步后的状态,然后长度为L,相当于走了L步,矩阵快速幂即可。
bllsll
·
2020-07-14 08:33
字符串
poj--2778DNA Sequence+
AC自动机
+矩阵快速幂
题目链接:点击进入如果我们先将所有的病毒字符串构建成一棵trie,然后构建一个n长的字符串的过程可以看成是从这颗trie树根节点出发走n步的一个过程,为了不含任何的病毒,则在走的过程中不能经过任何的病毒节点。考虑只走一步的过程,则我们可以得到一个矩阵m[i][j],表示从节点i到节点j有多少种方式。那么这个矩阵的n次幂就是表示走n步的情况,然后也就可以得到答案了。问题在于如何获得这个走一步方案数的
acm_lkl
·
2020-07-14 07:02
数据结构
AC自动机
知识点详解hdu2222#include#include#include#include#includeusingnamespacestd;constintN=1e6+10;structnode{intcount;//是否为该单词的最后一个节点node*next[26];//Tire每个节点的26个子节点(最多26个字母)node*fail;//失败指针node(){//构造函数初始化fail=N
JW_7066
·
2020-07-14 06:52
AC自动机
POJ2778
AC自动机
经典题
DNASequenceTimeLimit:1000MSMemoryLimit:65536KDescriptionIt’swellknownthatDNASequenceisasequenceonlycontainsA,C,TandG,andit’sveryusefultoanalyzeasegmentofDNASequence,Forexample,ifaanimal’sDNAsequenceco
WT_cnyali
·
2020-07-14 06:53
算法
Sol
字符串
AC自动机
图论
洛谷P3796 - 【模板】
AC自动机
(加强版)
原题链接Description模板题啦~Code//【模板】
AC自动机
(加强版)#include#includeintconstN=2e5;intconstL=1e6+10;intn;chars1[200
VisJiao
·
2020-07-14 06:39
洛谷
----字符串----
AC自动机
poj 2778
AC自动机
+ 矩阵快速幂
//poj2778
AC自动机
+矩阵快速幂////题目链接:////http://poj.org/problem?
TIMELIMITE
·
2020-07-14 06:14
Data
structure
poj
AC自动机
+矩阵快速幂 HDU 2243
做这个题之前最好做一下POJ2278(题解)在POJ2278的基础上,最终的答案就是26^1+26^2+......+26^L减去A^1+A^2+....+A^L我们构造这么一个矩阵|A,1||0,1|它的n次方等于|A^n,1+A^1+A^2+....+A^(n-1)||0,1|如果A是一个矩阵那么1和0也分别是[111...1]T和[000....0]那么结果是|A^n,(1+A^1+A^2+
_Rain_Stopped
·
2020-07-14 05:06
矩阵
AC自动机
UVA-11019Matrix Matcher(
AC自动机
)
那么很显然可以先对模板串一行一行的进行构建Trie树,而后对于文本串也一行一行的进行匹配寻找,在寻找的过程中对相应的行列进行记录就可以了,其中要注意的是模板串中可能重复字符串,即不同行的字符串相同,因而要另设一数组进行相应的记录,妥妥的一道
AC
Pei_1997
·
2020-07-14 05:31
AC自动机
Substring UVA - 11468
AC自动机
加记忆化
OJ:https://vjudge.net/problem/UVA-11468简单翻译:给出一些字符和各自被选择的概率,随机选择L次之后,得到一个长度为L的随机字符串S,每次选择互相独立。给出K个模板串,计算S不包含任何一个模板串的概率,既S的任意一个子串都与K个模板串的任何一个相同分析:计算不包含模板串的概率,也就是要计算我们每次选择不会出现于模式串相同的子串的那些选择的概率之和。也就是全概率对
P19777
·
2020-07-14 05:22
算法
poj 2778 AC 自动机 + 矩阵快速幂
AC自动机
构建fail指针时与跟原来匹配时的
AC自动机
有改动。。
OceanLight
·
2020-07-14 05:16
POJ
每日一题
Matrix Matcher UVA - 11019 字符串hash或者
AC自动机
http://fastvj.rainng.com/problem/UVA-11019题意很简单不说了;做法:首先考虑一维字符串如何哈希公式如下:然后类比得到二维字符串的哈希公式其他都还差不多的。时间复杂度不是n*m#includeusingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;constllhs1=200379;cons
KXL5180
·
2020-07-14 05:51
ACM题解
luogu3796【模板】
AC自动机
(加强版)
嗯,模板题。pre数组主要是为了更快的统计答案。fail[i]表示从根到节点i的字符串的后缀与从根到fail[i]的字符串相等,且最长的。#include#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN11000inlineintread(){intx=0,f=1;char
Icefox_zhx
·
2020-07-14 04:55
其他oj
Luogu P3786
AC自动机
加强版___
AC自动机
题目大意:有N个由小写字母组成的模式串以及一个文本串T。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串TT中出现的次数最多。1≤N≤150模式串长度≤70文本串T长度≤10^6题解:就是在这题的基础上改一下http://blog.csdn.net/gx_man_vip/article/details/79556985对于每个end[i](点i作为单词末位在所有单词中出现了多少次)
disPlayLzy_
·
2020-07-14 04:29
C++
AC自动机
Luogu P3808
AC自动机
简单版___
AC自动机
题目大意:给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。subtask1[50pts]:∑length(模式串)#defineN500010usingnamespacestd;queueQ;structAho_Corasick_Automaton{intnum,next[N][26],fail[N],end[N];voidinsert(char*s){intlen=strlen(s
disPlayLzy_
·
2020-07-14 04:29
C++
AC自动机
【POI2010/Luogu3502】CHO-Hamsters
AC自动机
+矩阵乘法
这里可以用
AC自动机
进行预处理,建好
AC自动机
之后,从每个字符串结尾,按照fail指针向后找就可以了。接着怎么办?第一想法是DP,我们可以设计状态d[i
CRTorlonia
·
2020-07-14 04:02
POJ2778 DNA Sequence (
AC自动机
+矩阵快速幂)
POJ2778DNASequence原题地址:http://poj.org/problem?id=2778题意:给出有m种有疾病的DNA序列,问有多少种长度为n的DNA序列不包含任何一种有疾病的DNA序列。(仅含A,T,C,G四个字符)数据范围0#include#include#include#include#defineLLlonglongusingnamespacestd;constintN=
Bfk_
·
2020-07-14 04:34
AC自动机
矩阵快速幂
POJ
题解
POJ-2778
ac自动机
+矩阵快速幂
DNASequenceTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:15422Accepted:5954DescriptionIt'swellknownthatDNASequenceisasequenceonlycontainsA,C,TandG,andit'sveryusefultoanalyzeasegmentofDNASequence,
AC_Machine
·
2020-07-14 03:30
ACM
java
字符串
ac自动机
矩阵快速幂
POJ 2778(
AC自动机
+矩阵快速幂)
DescriptionIt’swellknownthatDNASequenceisasequenceonlycontainsA,C,TandG,andit’sveryusefultoanalyzeasegmentofDNASequence,Forexample,ifaanimal’sDNAsequencecontainssegmentATCthenitmaymeanthattheanimalmay
剪云 者
·
2020-07-14 02:33
AC自动机
luogu-p2292(
AC自动机
)
题目描述标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的。现在你要处理的就是一段没有标点的文章。一段文章T是由若干小写字母构成。一个单词W也是由若干小写字母构成。一个字典D是若干个单词的集合。我们称一段文章T在某个字典D下是可以被理解的,是指如果文章T可以被分成若干部分,且每一个部分都是字典D中的单词。例如字典D中包括单词{‘is’,‘name’,‘what’,‘your’},则文章‘w
剪云 者
·
2020-07-14 02:33
AC自动机
UVA - 11019(
AC自动机
)
GivenanN×Mmatrix,yourtaskistofindthenumberofoccurencesofanX×Ypattern.InputThefirstlinecontainsasingleintegert(t≤15),thenumberoftestcases.Foreachcase,thefirstlinecontainstwointegersNandM(N,M≤1000).Then
剪云 者
·
2020-07-14 02:33
AC自动机
2020牛客暑假多校第二场A. All with Pairs
L=∑∣Si∣L=\sum|S_i|L=∑∣Si∣长度超过L\sqrtLL的串的个数不会多于L\sqrtLL个这部分串可以直接kmpkmpkmp计算贡献剩下的串,每个串长度都不超过L\sqrtLL建立
AC
*ACoder*
·
2020-07-13 18:06
big-small
#
kmp
#
AC自动机
POJ 2778 DNA Sequence 长度为n且不含m种模式串的字符串种数
:给你m个字符串求出长度为n并且不包含m个模式串的任何一个的文本串的数量思路:有一个经典的矩阵题目:给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数这里的k步就是字符串的长度点就是
AC
芋智波佐助
·
2020-07-13 15:44
AC自动机
[
AC自动机
+期望DP] 玲珑ACM 1025 - Magic boy Bi Luo with his excited string problem
MagicboyBiLuowithhisexcitedstringproblem题意:给出#include#include#include#include#includeusingnamespacestd;typedeflonglongll;constllmod=1e9+7;constintN=155;llqpow(lla,llk){llres=1;a=(a%mod+mod)%mod;while(
kg20006
·
2020-07-13 06:46
ACM
题解
ac自动机
实现多模式匹配
用到了java中的hashMap,可以节约内存。支持中文,可直接添加使用。代码的注释还比较详细:/****@authorhit_fantasy*/importjava.util.*;publicclassTrieCheck{//根节点rootprivateTrieNoderoot;publicTrieCheck(){root=newTrieNode();}//测试publicstaticvoidm
hit_fantasy
·
2020-07-13 05:17
数据结构JAVA实现
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他