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
----后缀自动机
【模板】
后缀自动机
后缀自动机
是一个能够接受母串所有后缀的最简自动机。其中,每个节点代表一个字符串集合,该集合中所有的字符串均有相同的\(right\)集合。
K1385170
·
2020-08-18 13:35
BZOJ3926
来自蒟蒻XXJ的做题记录%%%陈老师的语文水平广义
后缀自动机
的板子题最多有\(20\)个叶子随手画一画以每个叶子为根进行\(dfs\)到达叶子的路径的后缀全都是不同的后缀直接建出来看一下有多少不一样的子串就好了
weixin_30654583
·
2020-08-18 04:28
Count New String 牛客第四场C题解
很显然这个转换后的问题是广义
后缀自动机
的模板题。不过我们不可以一次次处理出所有的这样的后缀再一个个地插入到广义
后缀自动机
里面求解答案,那样的做法显然会tle。
V4yne.
·
2020-08-17 14:12
刷题记录
题解
字符串
洛谷P3975【天津省选2015】(
后缀自动机
DP)
题目链接https://www.luogu.com.cn/problem/P3975题解此题非常经典且重要,是sam的函谷关,必须拿下。记录每个点endpos大小的方法是在parent树从下往上递推。开始的is_pre就是看看当前点与没有包含原串前缀,有的话,这个会在parenttree分叉时候丢掉。也就是当前节点并不是所有子节点的endpos的并集,并集还得加上那个前缀的结束位置才是当前点的en
Ada Chambers
·
2020-08-17 02:17
sam
模板
dp
hihocoder1457【
后缀自动机
+拓扑排序DP】
题目链接http://hihocoder.com/problemset/problem/1457题解所有乐章,用#隔开拼接起来建立sam。在自动机上按照拓扑序递推求出初始状态到当前点的不含#的路径数,然后用这个递推出初始到当前点所有子串的和。递推式见代码。注意我开始直接入度和递推都忽略自动机的#边。但这是不对的。因为这样忽略会导致有的点入度永远不是0,而不被算到。因为去掉#边可能导致某个入度和初始
Ada Chambers
·
2020-08-17 02:17
sam
dp
多串
后缀自动机
(hdu4436)
OnlineJudgeOnlineExerciseOnlineTeachingOnlineContestsExerciseAuthorF.A.QHandInHandOnlineAcmersForum|DiscussStatisticalChartsProblemArchiveRealtimeJudgeStatusAuthorsRanklistC/C++/JavaExamsACMStepsGotoJ
u010660276
·
2020-08-15 16:20
后缀自动机SAM
后缀自动机
中有多少个这样的串的和我们把问题转化为这样对于把他分割成两部分也就是求设前半部分的后缀是多少个S乘以后半部分的前缀是多少个S的和我们看样例11*22*11*1所以答案就是5将字符串转置,这两个问题也就是一个问题利用
后缀自动机
处理
wind_bow
·
2020-08-15 15:43
字符串算法
后缀自动机
--bzoj4032: [HEOI2015]最短不公共子串
传送门一个题=四个题T1这就是对于两个串上的问题通常套路就是对一个建
后缀自动机
另一个在上面跑,所以对BBB建出
后缀自动机
然后枚举AAA的子串开头跑就行了,复杂度O(n2)O(n^2)O(n2)T2有一个东西叫做序列自动机
..、
·
2020-08-15 15:39
序列自动机
后缀自动机
后缀自动机
序列自动机
广义
后缀自动机
--bzoj3926: [Zjoi2015]诸神眷顾的幻想乡
因为叶子只有202020个,所以把每个叶子当作根然后把从根开始的所有子串都插入一个广义
后缀自动机
,这样就可以把所有串取到,每次插入的时候记录一下fafafa是哪个,从那个开始插就好了这个要求不同子串个数要用
..、
·
2020-08-15 15:39
后缀自动机
SAM
bzoj 2780 [Spoj]8093 Sevenk Love Oimaster
看了一眼题目,内心:好像是
后缀自动机
啊,可是不会写sad...看起来大家运行时间不是很长啊暴力吧!然后写了一个又长又慢的弱智暴力,意料之中的TLE了。
ahcisy
·
2020-08-15 13:38
codeforce 271D Good Substrings (
后缀自动机
+dp)
题意:给出一个串,和一个01串,01串只有26个字符,每个字符对应26个英文字母表示这个字符是否是好的,1表示好的,0表示不好的。所给的串中多少个不同子串至多包含k个坏字母。题解:这题没想到用dp来做,一直去想性质,其实用dp做挺简单的。dp[i][j]表示在后缀动机上的i点,现在有j个坏字母对应子串的个数。明显:dp[i][k]+=dp[next[i][j]][k]if(alp[j]==1)dp
My_ACM_Dream
·
2020-08-15 10:48
字符串—后缀自动机
动态规划—普通dp
字符串
后缀自动机
:O(N)的构建及应用
原文地址http://e-maxx.ru/algo/suffix_automata俄文用google机翻成英文再翻成中文,错误在所难免,大家多包涵……如果有什么奇怪的话直接略过吧,因为这说明我也没看懂……
后缀自动机
后缀自动机
wmdcstdio
·
2020-08-15 09:32
spoj Substrings【
后缀自动机
】
题目大意:求一个串里面长度分别为1~n的子串中出现次数最多的次数考虑每个点代表的字符串出现的次数为它right集合的大小,right集合大小可以遍历子树得到,用每个点的right集合大小去更新他mx的答案#include#include#include#include#defineN500005#defineINF1000000000usingnamespacestd;intn,m,last=1,
beginendzrq
·
2020-08-14 16:28
后缀自动机/树/数组
[BZOJ3676][UOJ#103][APIO2014]回文串 Palindromes(Manacher+
后缀自动机
)
先考虑,如果只是求所有子串的出现次数×长度出现次数×长度之和,那么这是道
后缀自动机
裸题,答案是:maxu
xyz32768
·
2020-08-14 08:21
BZOJ
UOJ
LOJ
找回密码 jzoj 4025
后缀自动机
题目Kevin是一个热爱字符串的小孩。有一天,他把自己的微信登录密码给忘记了,万般无奈之下只好点“找回密码”。这时候,网页上出现了当初设定的密保问题:在字符串st中,有若干个内容不同的子串,请问其中字典序第k小的子串是什么?很可惜的是,Kevin现在已经不会写程序了,所以,他找到了睿智的你来帮忙。分析对串创建SAM,然后,拓扑一下,算出每个状态,如果继续往后边走,能够生成多少种不同的字符串。然后每
A_loud_name
·
2020-08-14 06:48
c++
后缀自动机
jzoj
后缀数组 --- WOj 1564 Problem 1564 - A - Circle
analyse:好吧,我承认这是个水题,比赛的时候sb了,因为原来做过
后缀自动机
求解字符串的环状最小表示法,所以一直用
后缀自动机
的知识去套
weixin_34235135
·
2020-08-13 21:33
UVA - 10829 L-Gap Substrings (
后缀自动机
+线段树启发式合并)
题意:统计一段字符串中形如UVU的子串个数(其中V的长度固定为g)。问题等价于求满足$g+1\leqslant|j-i|\leqslantg+LCP(i,j)$的后缀(i,j)的对数,即$\sum\limits_{i2usingnamespacestd;3typedeflonglongll;4constintN=1e5+10,M=26;5chars[N];6intn,fa[N],go[N][M],
weixin_30826761
·
2020-08-13 20:17
牛客网 桂林电子科技大学第三届ACM程序设计竞赛 A.串串-
后缀自动机
模板题
示例1输入复制ababa输出复制9备注:1≤N≤105,字符都是小写字母
后缀自动机
模板题,因为数据太大,极限可
weixin_30722589
·
2020-08-13 20:00
JZOJ 4025. 【佛山市选2015】找回密码
233题目:分析:代码:题目:单击查看题目分析:建出
后缀自动机
后统计从每个点开始走能构成的字符串总数(dfs一遍),之后直接找就行了当然,正解其实是打表代码:#include#include#include
滑稽大佬
·
2020-08-13 17:08
后缀自动机
后缀自动机
初学
首先膜拜clj的ppt,记录几个要点关于Right集合:1.定义:一个子串str在母串S中所有出现位置的右端点。如子串str在S中出现位置为[l1,r1),[l2,r2),...,[ln,r3),则str的Right集合为{r1..rn}。会有一些子串的Right集合相同,其中最长的len为MAX(s),最短的为MIN(s)2.性质1:给定Right(s)和len就可得出串3.性质2:关于相交。如
lych_cys
·
2020-08-13 15:32
笔记
USACO DEC17,Platinum
这题我直接求了一个广义
后缀自动机
,然后给每个点一个标记表示这个点对应的子串是否只在某个字符串中出现。然后随便统计一下就做完了。O(N)。AC代码如下:#include#defineN200
lych_cys
·
2020-08-13 15:32
usaco
比赛
后缀自动机
图论
点双连通分量
二分
贪心
[The Problem to Slow Down You]
后缀自动机
+ 马拉车做法
链接的G题:http://codeforces.com/gym/1005481.由于不会回文树,看到题目感觉很SAM2.仔细一想可以发现SAM中一个节点所代表的字符串最多只有一个是回文串以同一个字母结尾的不同回文串出现的位置不可能完全相同说明一个长为n的串种出现的回文子串种类不超过n种3.在新建一个结点的时候如何判断——该节点所存储的字符串中是否有回文串呢?如果有的话,必然是以当前字符结尾的最长的
lchi1997
·
2020-08-13 15:54
杂的
bzoj 4545: DQS的trie (
后缀自动机
+LCT)
题目描述传送门题目大意:给出一棵trie树(1)询问当前trie的本质不同的子串数目是多少。(2)以点rt为根向下长出一个子树,大小为si。接下来si-1行,每行两个整数u,v和一个字符c,表示u号节点和v号节点之间有一条边,边上的字母为c。若长出子树之前当前树的大小是n,则这si-1点的编号分别为n+1,n+2…n+si-1。(3)一个字符串S,询问字符串S在当前trie中的出现次数。题解广义后
clover_hxy
·
2020-08-13 13:22
后缀自动机
LCT
hdu 4117 GRE Words (AC自动机+线段树)
字符串匹配算法,大概就是kmp,ac自动机,后缀数组,
后缀自动机
这么几种了。对于这题,我们很容易想到暴力dp,用kmp去匹配,总复杂度可以做到o(n^2+2*m)(n为字符
No__stop
·
2020-08-13 12:15
AC自动机整理
poj 3415Common Substrings (
后缀自动机
)
poj3415CommonSubstrings(
后缀自动机
)题意:给出两个串,问这两个串的所有的子串中(重复出现的,只要是位置不同就算两个子串),长度大于等于k的公共子串有多少个。
No__stop
·
2020-08-13 12:15
后缀自动机
Sevenk Love Oimaster(trie,MAP
后缀自动机
)
题意:给出n个串,再m个询问,每次询问一个串s,问给出的n个串中,子串包含s的有几个解法:给这n个串建立trie,再将trie建成sam,然后我们要知道的是,对于每一个状态u所表示的子串,被几个串包含,这里跟http://blog.csdn.net/no__stop/article/details/38611209这题的处理方法类似,不再赘述。然后询问的串,就去sam上匹配,匹配到哪个节点,就将该
No__stop
·
2020-08-13 12:15
后缀自动机
sam
String and Times(
后缀自动机
)
后缀自动机
裸题,大概就是以下这两题合在一起:http://hihocoder.com/problemset/problem/1445http://hihocoder.com/problemset/problem
Cymbals
·
2020-08-13 11:38
ACM
后缀自动机
2019牛客多校第四场——I.string【
后缀自动机
+回文自动机】
题目链接:string题目描述Wecalla,ba,ba,bnon-equivalentifandonlyifa≠ba\neqba=banda≠rev(b)a\neqrev(b)a=rev(b),whererev(s)rev(s)rev(s)referstothestringobtainedbyreversingcharactersofsss,forexamplerev(abca)=acbar
MaJorieL
·
2020-08-12 12:12
字符串
后缀自动机/SAM
字符串
回文自动机/PAM
2019牛客多校
牛客多校第四场 I.string(
后缀自动机
+回文树)
问一个串内,能选出多大的一个子串集合,满足两两子串之间互不相同而且不存在一个子串是另一个子串的反串。首先显然,重复出现的子串只能选一个,也就是只能选本质不同的子串。于是考虑将原串和其反串建立广义sam,此时原反串相同的部分全部压缩在了一起,对这个sam统计本质不同的子串个数,此时的统计结果中,符合题目条件(反串不同)的子串统计了两次(正串一次反串一次),不符合题目条件的串统计了一次。但是显然回文串
Cymbals
·
2020-08-12 10:58
ACM
后缀自动机
回文树
牛客多校4 - Count New String(序列自动机+广义
后缀自动机
)
题目链接:点击查看题目大意:题目分析:首先观察到集集合A中那个套娃的表示,外层的范围是[x1,y1],内层是[x2,y2],而内层的定义域实际上是包含在外层的定义域内的,这样外层的函数f其实是不起作用的,因为内层的函数f已经按照规则将区间集合A中[x1,y1]内的每个元素按照规则转换完毕了,再进行一次相同的转换,则就变的可有可无了,换句话说,每一个f(S,x1,y1)实质上表示为字符串s的每个子串
Frozen_Guardian
·
2020-08-12 10:20
字符串处理
四川大学第二届SCUACM新生赛(同步赛)F
[模板]
后缀自动机
题目描述:这是一道模板题:给定两个字符串S和T,询问S中是否存在一个后缀P,使得T的任何一个前缀的字典序都大于P。
北燕伐狄
·
2020-08-11 14:22
牛客
OI生涯回忆录 2018.11.12~2019.4.15
动态DP,LCT,后缀数组,
后缀自动机
,多项式NOIP获得全省第六名好成绩的我,自以为省队纳入囊中只是时间问题学习效率并不高效。12月培训由于自学过听课效果很好,实际上并没有收获和总结太多。
weixin_34192732
·
2020-08-11 14:31
四川大学第二届SCUACM新生赛(同步赛)
文章目录A-丁姐姐喜欢Fibonacci(规律)B-丁姐姐喜欢LCS(字符串)C-俏兔子大战傻贼鹰-EasyVersion(模拟)E-[模板]欧拉筛(欧拉筛+取模)F-[模板]
后缀自动机
(思维)G-走迷宫
有所为,无所畏
·
2020-08-11 10:02
算法
Longest Common Substring II
建立广义
后缀自动机
,然后在parent树上更新答案。
weixin_44019404
·
2020-08-11 04:19
广义后缀自动机
临时抱佛脚
临时抱佛jio需要打的板子高斯消元FFT/NTT拉格朗日插值LCTsplayK-DTree二分图/最大流/费用流后缀数组
后缀自动机
可能还需要重新学一下的东西整体二分Polya定理dp区间dp对于满足\(
weixin_30295091
·
2020-08-10 22:46
【知识总结】
后缀自动机
的构建
参考资料:(APIO2018)从DFA到
后缀自动机
_张云帆又一个学了很多遍都不会的算法/数据结构……(话说我怎么每篇知识总结一开始都是这句话qwq)先orz
后缀自动机
之神兔崽子TzzDzz(顺便喂它最喜欢吃的叶子
Inspector_Javert
·
2020-08-10 16:48
字符串
数据结构
HDU3948:后缀数组+马拉车(本质不同回文子串统计)
然后可以考虑用
后缀自动机
统计答案。这道题的关键的关键在于去重的处理。去重要求去掉:h[i]范围内已经被
calabash_boy
·
2020-08-10 15:43
HDU
2019 牛客暑假多校训练营 第四场 I 广义
后缀自动机
+回文自动机
广义
后缀自动机
,求多个串的本质不同子串个数。
Black__wing
·
2020-08-10 13:30
回文自动机
后缀自动机
hdu 4455 dp
前几天一直在看后缀数组,ac自动机什么问题的,竟然将这题往
后缀自动机
那里想了。。。。
xuezhongfenfei
·
2020-08-10 04:21
bzoj3926[Zjoi2015]诸神眷顾的幻想乡 广义
后缀自动机
广义
后缀自动机
裸题,具体可以参考15年国家队论文。其实就是在trie上建SAM,一边dfs一边建就可以了。
Transcendence_magia
·
2020-08-09 23:44
bzoj
后缀自动机
BZOJ3926: [Zjoi2015]诸神眷顾的幻想乡 广义
后缀自动机
题目大意:N个节点的树,每个节点有一种颜色,问存在多少种颜色序列不同的路径。1#include#include#include#definegm100001usingnamespacestd;typedefunsignedlonglongcnt_t;intn,c;structnode{node*s[10],*f;size_tdpt;boolused;node(size_tdpt=0):s(),f(
Mima_Reincarnation
·
2020-08-09 18:22
后缀自动机
BZOJ做题纪录
2019HDU多校赛 第十场 HDU 6694 Play Games with Rounddog(
后缀自动机
+ 线性基)
大致题意:给你一个字符串S,然后q个询问,每次给出S的一个子串T。对于每个询问的子串T,Calabash可以在S中选择任意个以T作为后缀的子串,然后生成子串对应数目个石子堆,每堆的石子数量等于w[对应子串在S中出现的次数]。然后Rounddog可以从这么多堆石子中选择任意堆的石子(至少选一堆),两人开始玩Nim游戏,Calabash先手。现在问Calabash是否存在必胜策略,如果有输出Calab
alpc_qleonardo
·
2020-08-09 13:21
---------Online
Judge--------
HDU
2019HDU多校赛
线性基
后缀自动机
codeforces 700E 后缀数组
题解
后缀自动机
没看懂,看了评论中的一个后缀数组做法。定义一个串是好串当该串长度为1或该串的前缀和后缀都有同一个好串且该好串不出现在该串中间。
make_it_for_good
·
2020-08-09 09:01
线段树
后缀数组
Codeforces Round #146 (Div. 1) C - Cyclical Quest (
后缀自动机
SAM)
http://codeforces.com/problemset/problem/235/C陈立杰出的
后缀自动机
。
kalilili
·
2020-08-09 09:12
后缀自动机
后缀三姐妹
目录写在前面前置小碎骨计数排序基数排序一些约定后缀数组定义倍增法构造优化代码及解释再优化LCP问题一些定义引理:LCPLemma引理:LCPTheorem推论:LCPCorollary引理快速求height后缀树暴力构建虚树+后缀数组前置知识构建方法套SA
后缀自动机
Luckyblock
·
2020-08-08 21:00
后缀自动机
详解
原论文(俄文)地址:suffix_automata
后缀自动机
后缀自动机
(单词的有向无环图)——是一种强有力的数据结构,让你能够解决许多字符串问题。
DZYO
·
2020-08-08 19:13
后缀自动机
后缀自动机
BZOJ3277:串(
后缀自动机
+乱搞)
题面题意:n个串,问每个串有多少个子串在至少k个串中出现建出广义sam,对于每个状态求出parent树上的子树有多少个来自不同串的节点大于k的可以贡献答案具体实现就是乱搞#include#include#include#include#include#include#include#includeusingnamespacestd;#definemmst(a,b)memset(a,b,sizeof
KKiseki
·
2020-08-08 18:21
后缀自动机
回文自动机 初学
今天学习了一下回文自动机pam,发现比
后缀自动机
sam简单好多啊。。。clj那个sam的ppt讲的我头昏脑涨的(叫你弱叫你弱>_<))。简单写一下免得自己忘记。
lych_cys
·
2020-08-08 17:21
笔记
[NOI2016]优秀的拆分
后缀自动机
树上启发式合并 线段树
[NOI2016]优秀的拆分题目传送门luogubzoj分析这道题不管采用Hash,后缀数组还是自动机,网上大部分的题解都采用了关键点+调和级数这个操作。本蒟蒻想不到关键点这个操作,所以采用的是一种较为繁琐的O(nlog2)O(nlog^2)O(nlog2)做法。首先肯定将问题转化成对于每个iii求以iii为边界的AAAAAA结构个数,当然前缀后缀分别求一遍,以下默认是前缀。考虑形式化这个问题,对
lvzelong2014
·
2020-08-08 17:38
数据结构-线段树&&树状数组
[LOJ2720] 「NOI2018」你的名字(
后缀自动机
+线段树合并)
题意给你一个字符串S\rmSS,q\rmqq次询问一个区间[l,r]\rm[l,r][l,r],与一个字符串T\rmTT,求T\rmTT有多少个本质不同的子串没在S[l,r]\rmS[l,r]S[l,r]中出现过。首先求的东西可以转化成T\rmTT中本质不同的子串减去S[l,r]\rmS[l,r]S[l,r]与T\rmTT的本质不同的公共子串数,T\rmTT中本质不同的子串用SAM很好求,那么现在
lunch__
·
2020-08-08 17:52
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他