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
----后缀自动机
HDU 4641 K-string 2013年多校第4场J题
后缀自动机
题目大意:就是现在初始的时候给出一个长度为n的串S(n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnames
u013738743
·
2015-04-13 17:00
HDU
后缀自动机
4641
2013年多校训练
Codeforces 235C Cyclical Quest
后缀自动机
题目大意:就是现在对于一个长度不超过10^6的字符串S,接下来有n次询问(n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
u013738743
·
2015-04-11 16:00
codeforces
后缀自动机
Quest
235C
Cyclical
POJ 1509 Glass Beads
后缀自动机
或 后缀数组
题目大意:就是现在对于一个字符串S,每次都可以将第一个字符放到最后面,这样一共有lenght(S)中串,求这样的床中字典序最小的那个的起始位置是第几个字符时最小大致思路:首先后缀数组的做法不难想到,就是将S变成SS之后求一遍后缀数组,扫一遍height数组,找到第一个sa[i]=0的那个sa[i],然后对于从这个位置开始的连续的height[i]>=length(S)的一段sa求出最小的即可,细节
u013738743
·
2015-04-11 14:00
poj
后缀数组
后缀自动机
glass
beads
1509
SPOJ NSUBSTR Substrings
后缀自动机
出现了3次),F(2)=2("ab“或者"ba"都出现了2次)F(3)=2("aba"出现了2次)F(4)=F(5)=1,对于给出的字符串S,长度为n,输出F(1~n)的值大致思路:首先对于字符串S建立
后缀自动机
u013738743
·
2015-04-11 13:00
Substrings
spoj
后缀自动机
NSUBSTR
SPOJ SUBLEX Lexicographical Substring Search
后缀自动机
题目大意:就是现在对于给出的长度不超过90000的字符串进行Q(Q #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usin
u013738743
·
2015-04-10 15:00
spoj
后缀自动机
第K小子串
SUBLEX
SPOJ LCS2 Longest Common Substring II
后缀自动机
题目大意:就是现在给出最多10个长度不超过10^5的字符串,求这10个串的最长公共字串的长度大致思路:这是SPOJLCS那题的升级版,那道题我是将所有串连接起来中间用没有出现过的字符隔开然后整体建立
后缀自动机
然后对于每个点上状压记录
u013738743
·
2015-04-09 10:00
spoj
后缀自动机
LCS2
SPOJ LCS Longest Common Substring
后缀自动机
题目大意:就是现在给你两个长度不超过25*10^4的串,求他们的最长公共子串的长度大致思路:第一道
后缀自动机
的题...居然套模板一发过了....我的想法就是原本
后缀自动机
中不是对于你每一个状态State
u013738743
·
2015-04-08 20:00
spoj
lcs
后缀自动机
BZOJ 3926 Zjoi2015 诸神眷顾的幻想乡
后缀自动机
题目大意:给定一棵树,每个节点有一个字符,求从一个节点出发沿最短路径走到另一个节点所构成的字符串一共有多少种此生无悔入东方,来世愿生幻想乡题目戳这里注意一句话:太阳花田的结构比较特殊,只与一个空地相邻的空地的数量不超过20个有奖问答:↑你看到这句话的第一反应是啥?1.度数 #include #include #include #defineM100100 usingnamespacestd; st
PoPoQQQ
·
2015-04-03 18:00
后缀自动机
bzoj
BZOJ3926
后缀自动机
:O(N)的构建及应用
原文地址http://e-maxx.ru/algo/suffix_automata俄文用google机翻成英文再翻成中文,错误在所难免,大家多包涵……如果有什么奇怪的话直接略过吧,因为这说明我也没看懂……
后缀自动机
后缀自动机
wmdcstdio
·
2015-03-31 15:00
字符串
后缀自动机
后缀树
[置顶] 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
·
2015-03-15 17:00
BZOJ 2806 Cheat (
后缀自动机
+dp)
题意:给出m个串组成的文章,在给出n个串,求n个串每个串的一个最优划分,划分:将串分成多分子串,L0表示其中能在文章中找到的子串的长度和,maxl表示其中子串的最大长度,在保证L0>=90%总长度前提下使得maxl最大,求出这个最大的maxl。题解:我们分析下这样的题,很明显要满足两种条件不易,那么我们可以枚举maxl,然后判断是否符合条件,对于如何判断我们可以用dp处理,dp[i]表示到i位置时
My_ACM_Dream
·
2015-03-14 12:00
hdu 4436 str2int (
后缀自动机
+dp)
题意:给出n个串然后,求着n个串所有子串对应的数字的和是多少。题解:根据陈立杰的论文我们得出这样的性质,从s开始遍历自动机,走到任意一个u,那么走过的字符构成的串肯定是整个串的子串,简单来说就是从起点到某个点构成了一个子串。那么我们就可以根据这性质计算。其实我们将串对应的数组分成不同位数进行计算,类似于数位dp的思想。dp[u]表示到节点u时构成的数位对应的数字和,那么u的下个节点v有:dp[v]
My_ACM_Dream
·
2015-03-11 19:00
uva 719 Glass Beads (
后缀自动机
)
题解:
后缀自动机
中遍历dfs找到第n个点对应的肯定是长度为n字典序最小的子串,并且结尾点就是遍历的结尾点。
My_ACM_Dream
·
2015-03-10 20:00
hdu 4622 Reincarnation (
后缀自动机
)
题意:给出一个串,q个询问,每个询问要求这个区间[l,r]不同子串的数目。题解:这题有两种做法,一种是后缀数组,一种是自动机,两种方法的思想是一致。用自动机做之前要知道一个性质:每次加入某个字符,会到len[last]-len[fa[last]]个未出现过的子串,并且都是以last为结尾的。那么就好办了,我们并不好在在线获得答案,我们先将询问存下来,然后通过排序按照区间左端点为第一key,右端点为
My_ACM_Dream
·
2015-03-10 15:00
spoj 7258 Lexicographical Substring Search (
后缀自动机
+dp)
题解:高了好久,终于对
后缀自动机
略有了解了。这题我们根据自动机中len的大小排序,为的是统计各个子串出现次数做准备,为什么要统计次数呢?
My_ACM_Dream
·
2015-03-10 13:00
spoj 8222 Substrings (
后缀自动机
+dp)
题意:给出一个串,定义这样的F(x){表示在长度为x的串中出现次数最多的串的长度},求出F(i) 1 #include #include #include #include #include #include #include #include usingnamespacestd; #defineB(x)(1=0;i--)pos[--cnt[len[i]]]=i; for(inti=0;i=0;i
My_ACM_Dream
·
2015-03-09 23:00
HDU 4436 str2int 后缀数组 + 前缀和预处理 或
后缀自动机
题目大意:对于给出的n个字符串(n #include//之前写了很多头文件导致rank数组模糊定义了..看来HDU上交后缀数组还是要注意一下 usingnamespacestd; constdoubleeps(1e-8); typedeflonglonglint; constintmod=2012; #definemaxn1000010 intwa[maxn],wb[maxn],wv[max
u013738743
·
2015-03-09 21:00
后缀数组
HDU
后缀自动机
4436
str2int
前缀和预处理
BZOJ 2946 Poi2000 公共串
后缀自动机
题目大意:求n个串的最长公共子串太久没写SAM了真是……将第一个串建成
后缀自动机
,用其它的串进去匹配每个节点记录每个串在上面匹配的最大长度那么这个节点对答案的贡献就是所有最大长度的最小值对所有贡献取最大就行了
PoPoQQQ
·
2015-03-09 21:00
后缀自动机
bzoj
BZOJ2946
spoj 1811 Longest Common Substring (第一道
后缀自动机
)
我用
后缀自动机
做,第一次写
后缀自动机
,举得和ac自动机相似都是一种状态转移图。参考了大牛的模板自己改了下写出自己的模板。这题将第一个串加入
后缀自动机
,然后去匹配第二个串。很裸的题目。
My_ACM_Dream
·
2015-03-09 20:00
【
后缀自动机
】 HDOJ 4270 Dynamic Lover
给出一个初始串,三种操作:1.在这个字符串后面加个字符串。2.给出一个长度len,问当前串长度为len的所有子串和长度小于len的所有后缀中字典序最小的起始坐标。3.删除当前字符串后面len个字符。#include #include #include #include #include #include #include #include #include #include #include #i
blankcqk
·
2015-03-05 14:00
后缀自动机
【
后缀自动机
】 SPOJ SUBLEX
这题也是CLJ论文上的题目,做法CLJ论文讲了。。。这里不多说了。。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn200005 #definemaxm100005 #defineeps1
blankcqk
·
2015-03-04 19:00
spoj
后缀自动机
【
后缀自动机
】 BZOJ 2555 SubString
只要维护
后缀自动机
上每一个节点的right集合大小就可以了。。。
blankcqk
·
2015-03-04 15:00
后缀自动机
bzoj
【
后缀自动机
】 SPOJ NSUBSTR
CLJ论文上有讲这题。。。子串出现的次数就是节点的right集合的大小。。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn500005 #definemaxm100005 #definee
blankcqk
·
2015-03-04 14:00
spoj
后缀自动机
【
后缀自动机
】 SPOJ LCS2
解法CLJ论文上有讲。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn200005 #definemaxm100005 #defineeps1e-7 #definemod100000000
blankcqk
·
2015-03-03 20:00
spoj
后缀自动机
【
后缀自动机
】 SPOJ LCS
将A建立成
后缀自动机
,
后缀自动机
的任意一个节点都表示若干个A的字串,让B在
后缀自动机
上匹配,不能匹配就沿着fa指针转移。。。
blankcqk
·
2015-02-26 18:00
spoj
后缀自动机
【BZOJ2780】【Spoj8093】 Sevenk Love Oimaster
后缀自动机
#include intmain() { puts("转载请注明出处谢谢"); puts("http://blog.csdn.net/vmurder/article/details/43015849"); }题意:n,mn个串m个串样例里面倒数第二行的you应该扔到下一行。问m个串每个在前n个串中的几个出现过。题解:首先这道题跟【BZOJ2754】【SCOI2012】喵星球上的点名是一样的,只不过
Vmurder
·
2015-01-22 10:00
树状数组
love
后缀自动机
SPOJ8093
BZOJ2780
Sevenk
Oimaster
BZOJ 2780 SPOJ 8093 Sevenk Love Oimaster
后缀自动机
+fenwick
思路:将所有源串建立广义
后缀自动机
。
jiangyuze831
·
2015-01-21 09:00
树状数组
后缀自动机
后缀树
bzoj
【BZOJ2555】SubString
后缀自动机
暴力
转载请注明出处:http://blog.csdn.net/vmurder/article/details/42915143题解:正解是LCT+SAM。但是出题人太神以至于不屑于卡你,所以只写个SAM然后暴力维护就好了。这样虽然很不科学,但是可以比正解快三倍。我是太困了吧,写挂了调了好久(发呆了好久然后秒调过,或者说半眯着眼睛睡了一会)代码:#include #include #include #i
Vmurder
·
2015-01-20 11:00
substring
后缀自动机
暴力
Link-Cut-Tree
BZOJ2555
BZOJ 2555 SubString
后缀自动机
思路:如果不想写正解的话,这个题就是
后缀自动机
的简单应用。正解其实是LCT+SAM,但是时间比暴力慢一倍。。。暴力就很简单了,正序建立
后缀自动机
,每次查询的时候找到位置直接输出size的值。
jiangyuze831
·
2015-01-19 18:00
后缀自动机
bzoj
LCT
【BZOJ3879】SvT 后缀树+虚树
一看到“后缀”和这数据范围,肯定后缀数组、
后缀自动机
、后缀树走起!然后我们可以轻松构造出来一个后缀树,然后每次询问树形
Vmurder
·
2015-01-17 16:00
后缀自动机
后缀树
虚树
BZOJ3879
SvT
POJ 1509 Glass Beads
后缀自动机
思路:最小表示法和
后缀自动机
的裸题,不过我是为了学
后缀自动机
才写的这个题,就没有去学最小表示法。
jiangyuze831
·
2015-01-17 07:00
poj
后缀自动机
后缀树
【BZOJ3238】【Ahoi2013】差异
后缀自动机
后缀树可以通过反序
后缀自动机
得到,这个很水。
Vmurder
·
2015-01-14 23:00
差异
后缀自动机
BZOJ3238
AHOI2013
【POJ3415】Common Substrings
后缀自动机
题意:给两个串,问有多少长度大于等于K的公共子串(位置不同也算一对)题解:
后缀自动机
DP对第一个串建立
后缀自动机
,然后做一些预处理,然后拿第二个串在
后缀自动机
上跑,到每个节点加一次贡献。
Vmurder
·
2015-01-14 15:00
common
Substrings
后缀自动机
sam
POJ3415
BZOJ 3238 AHOI2013 差异
后缀自动机
题目大意:给定一个字符串,求Σ[1 #include #include #include #include #include #defineM500500 usingnamespacestd; namespaceSuffix_Automaton{ structSAM{ mapson; vectortree_son; SAM*parent; intmax_dpt,right; boolmark; S
PoPoQQQ
·
2015-01-05 14:00
后缀自动机
bzoj
BZOJ3238
【POJ2774】Long Long Message
后缀自动机
……另一道题用到,想看看部分代码对不对。于是又拿SAM交了一遍此题。仅贴代码、#include #include #include #include #defineN101000 #defineT30 usingnamespacestd; chars[N],t[N]; intpa[N<<1],son[N<<1][T]; intdeep[N<<1],cnt,root,last; inlineintN
Vmurder
·
2014-12-24 16:00
后缀自动机
sam
POJ2774
BZOJ 2882 工艺
后缀自动机
题目大意:最小表示法模板题不会最小表示法,拿
后缀自动机
水了一发~~一开始还写挂了MLE……权当练习一下SAM的熟练度了0.0#include #include #include #include #include
PoPoQQQ
·
2014-12-16 11:00
后缀自动机
bzoj
BZOJ2882
BZOJ 2555 Substring
后缀自动机
+Link-Cut-Tree
题目大意:给定一个初始字符串,提供两种操作:1.在这个字符串的后面连接一个字符串2.询问某个字符串在当前串中出现了多少次SAM大叔的自动机~~对于每个询问就是在
后缀自动机
上找到该子串所对应的节点找不到返回
PoPoQQQ
·
2014-12-12 15:00
后缀自动机
bzoj
Link-Cut-Tree
BZOJ2555
【POJ1509】Glass Beads 最小表示法
题解:①复制字符串后建立一棵SAM(
后缀自动机
,suffixautomaton),呃,这个不会的可以自己查或者留言让我发博客。然后在SAM上按照最小字典序走n次,这就是传说中的最小字典序子串了。
Vmurder
·
2014-12-11 19:00
最小表示法
POJ1509
后缀自动机
,SAM,suffix automaton 模板
理解神马的就不贴了,实在需要的话留言,我再填坑。#include #include #include #defineN101000 #defineT26 usingnamespacestd; intpa[N<<1],son[N<<1][T]; intdeep[N<<1],cnt,root,last; charstr[N]; inlineintNewnode(int_deep){deep[++cnt
Vmurder
·
2014-12-11 17:00
后缀自动机
sam
Suffix
automaton
【恶补字符串Project】
大家都知道我不会字符串……,所有的字符串题都是hash乱搞的……该补一补了kmpTrieAC自动机(fail树)后缀数组
后缀自动机
最小表示法manacher*扩展kmp*后缀树以及在xxx上的各种dp待刷的题
u012732945
·
2014-11-30 10:00
bzoj
hdu 4622 Reincarnation(后缀数组|
后缀自动机
|KMP)
ReincarnationTimeLimit:6000/3000MS(Java/Others) MemoryLimit:131072/65536K(Java/Others)TotalSubmission(s):2138 AcceptedSubmission(s):732ProblemDescriptionNowyouareback,andhaveatasktodo:Givenyouas
y5885922
·
2014-10-17 21:00
c
算法
ACM
POJ 1743 Musical Theme Hash+二分
思路:这个题是男人八题之一,正解是
后缀自动机
,可是我不会。但是某神犇说过:“Hash大法好”。于是这个题Hash+二分也可以解决。
jiangyuze831
·
2014-10-13 10:00
poj
hash表
字符串hash
男人八题
【字符串最小表示法】 POJ 1509 Glass Beads
这题可用
后缀自动机
,当然最小表示法更简单。。。
blankcqk
·
2014-10-10 21:00
poj
ACdream 1430 SETI
后缀自动机
/后缀数组 不重叠子串的个数
题目求不重叠子串的个数。一开始看错题第一反应就是用SAM来解,求出right集,如果出现次数超过1次就统计。不过本题要求的是不重叠的子串,因此在求right集时,顺便维护两个值,每个结点所能表示的所有原串的终点的最小值和最大值。最后遍历所有结点统计答案。O(n)如果用SA来做的话就是枚举所有的子串长度k,对于每个k,对heght进行分组,对每个分组,求出sa最小值和最大值,最大值减去最小值是否不小
cyendra
·
2014-10-06 18:00
【To Do List】
sbtLCT链翻转仙人掌基环外向树 斯特林数最小乘积生成树动态凸包旋转卡壳朱刘算法 toptree上下界网络流zkw费用流+线段树数位dp拟阵必经点树 dinkelbach虚树已学习的:块状树树的分治
后缀自动机
u012732945
·
2014-09-30 21:00
bzoj
spoj/LCS 1811 小小
后缀自动机
LongestCommonSubstring坑死了 p什么的np什么的q什么的nq什么的- -都注意了构造还是写错了TAT利用
后缀自动机
的性质:能接受所有子串也就是说能接受的就一定是该串的子串失配时要沿父亲走
Hivoodoo
·
2014-09-12 14:00
字符串
ACM
后缀自动机
【SPOJ】【P1811】【LCS】【题解】【SAM】
A:背
后缀自动机
啊蒟蒻的SAM第一弹Code:#include #include #include #include usingnamespacestd; constintmaxn=250010; structnode
u012732945
·
2014-09-10 18:00
spoj
uva 719 - Glass Beads(最小表示法 |
后缀自动机
)
解题思路:最小表示法|
后缀自动机
#include #include #include usingnamespacestd; constintmaxn=1e4+5; chars[maxn]; intmain
u011328934
·
2014-09-04 23:00
【9月计划】
知识点:块状树 cdq分治 后缀* 矩阵树定理 容斥原理 母函数 Mobius反演 整体二分 AC自动机 Trie
后缀自动机
DLX斜率优化四边形不等式 重量平衡树背sth大爷给的模板准备以后刷的题:poj1091
u012732945
·
2014-09-03 21:00
bzoj
【
后缀自动机
】 HDOJ 4436 str2int
一眼后缀数组。但是本弱不会写。本弱参考cxlove大神的。。。http://blog.csdn.net/ACM_cxlove?viewmode=contents#include #include #include #include #include #include #include #include #include #include #include #include #include #de
blankcqk
·
2014-08-13 13:00
HDU
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他