
后缀自动机
KsCla
这个作者很懒,什么都没留下…
展开
-
BZOJ2555:SubString (后缀自动机+(Splay+DFS序/LCT))
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2555题目分析:多串匹配单串,强制在线,只在末端插入字符,让我们很容易想到SAM。其实如果做过阿狸的打字机这题的话,再看此题就显得很简单了。正如我之前所说,SAM本质上是将一个串的所有后缀做成AC自动机,并对其状态进行了化简,使其达到线性的时间和空间复杂度。我们将原串的后缀自动机建出来,查询原创 2017-07-01 16:21:45 · 505 阅读 · 0 评论 -
BZOJ3879:SvT (后缀数组+单调栈)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3879题目分析:sro popoqqq其实这题可以用SAM+虚树来做,而且我虚树也写得不熟。但SA+单调栈实在是太方便了,就懒得再写了QAQ。上次写SA是NOIP前的事了,差点想不起怎么写,一开始构造Height数组还出错了……其实后缀数组的原理我早忘得差不多了,只是去年省...原创 2018-03-01 16:57:31 · 416 阅读 · 0 评论 -
BZOJ4556:[Tjoi2016&Heoi2016]字符串 (后缀自动机+树上倍增+二分答案+线段树合并)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4556题目分析:我发现我对线段树合并一无所知QAQ。先讲一种简单的做法:我们可以将后缀数组建出来,对于每个询问二分一个答案mid。然后从Rank[c]往上下两个方向跳,找到一个区间[L,R],使得这个区间的后缀和c开头的后缀的LCP大于等于mid。那么如果sa[L]~sa[R]中有落在[a,原创 2017-11-24 16:39:40 · 707 阅读 · 0 评论 -
BZOJ3926:[Zjoi2015]诸神眷顾的幻想乡 (后缀自动机)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3926题目分析:现在考完了NOIP复赛,我也要开始回坑SAM,把这个算法学得更透彻。很久之前就听tututu说有篇高大上的论文叫《后缀自动机在trie上的扩展》,于是我知道了如何对着一棵trie树建后缀自动机,然后总结出一些要点: 1.trie上的SAM,每个状态的Right集对应trie原创 2017-11-22 11:57:05 · 410 阅读 · 0 评论 -
BestCoder Round #2 解题报告
最近感觉暑假在家好颓,效率直线下降,码代码速度慢,想题想不出。这次R2的题目也是过了很久才做完……但愿8月份到了学校情况会好些吧。T1:TIANKENG’s restaurant题目传送门:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=526&pid=1001题目大意:给出n(n<=10000)个时间段(形式为hh:原创 2017-07-31 20:33:57 · 587 阅读 · 0 评论 -
BZOJ3676:[Apio2014]回文串 (Manacher+后缀自动机+树上倍增)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3676题目分析:找后缀自动机练习题的时候看到这题的,结果想不出怎么用SAM。看了黄学长的博客才知道要先写个manacher,再在parent树上玩倍增。后来又听说这题是裸的回文树……我还不知道什么是回文树啊,我也不是擅长现学现卖的类型,于是就写了这个SB的O(nlog(n))的方法。 首先原创 2017-07-07 14:01:02 · 594 阅读 · 0 评论 -
SPOJ1812:LCS2 (后缀自动机)
题目传送门:http://www.spoj.com/problems/LCS2/题目分析:在研究了陈老师的论文以及其他人写的SAM学习笔记一个周末之后,我终于A掉了人生中第一道SAM裸题…… 作为入门题这道题应该还是很不错的。题意很简单(要求10个串的最长公共子串),而且思维难度和代码复杂度也不高。我们首先按照论文中的方法将一个串的SAM构出来,然后我们用其他串在上面跑就可以了(因为SAM本质上是原创 2017-06-28 14:55:18 · 758 阅读 · 0 评论 -
BZOJ4180:字符串计数 (后缀自动机+二分答案+矩阵快速幂)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4180题目分析:别人眼中的好题,然而我觉得就是把SAM强套上另一个算法的题。后缀自动机的特点使其能够很好地解决本题,因为它能够识别原串的所有子串。如果从Root开始匹配模式串,而走到的当前状态并不拥有模式串下一位的转移,那么原串便没有这个子串。接下来从静态的问题开始考虑:假...原创 2018-03-10 08:50:12 · 603 阅读 · 0 评论