题目大意:给出一个环形的字符串,问从哪里开始是的这个字符串的字典序最小。
思路:最小表示法和后缀自动机的裸题,不过我是为了学后缀自动机才写的这个题,就没有去学最小表示法。
做法很简单,先建立一个后缀自动机,然后从根开始沿tranc指针从a->z走len次到达的点就是字典序最小的字符串的结尾点,求起始点只要减一下长度再+1即可。
对于后缀自动机的理解:http://wyfcyx...
分类:
其他好文 时间:
2015-01-17 10:04:22
阅读次数:
197
首先 秦神QY Orz
题解:
这道题后缀数组过于鬼畜(wo’tai’ruo’bu’gan’xie)
所以写了简单好写易于理解不用分治不用RMQ的SAM大叔。
题解:
首先其实我们需要一个后缀树,然后两个后缀的lcp就是它们lca的len。
后缀树可以通过反序后缀自动机得到,这个很水。
然后len的性质就是后缀自动机的那个len(我写的‘deep’)。
后缀树上DP就水了...
分类:
其他好文 时间:
2015-01-15 09:27:52
阅读次数:
199
题意:
给两个串,问有多少长度大于等于K的公共子串(位置不同也算一对)
题解:
后缀自动机DP
对第一个串建立后缀自动机,然后做一些预处理,
然后拿第二个串在后缀自动机上跑,到每个节点加一次贡献。
但是这样需要每个点往parent树上跑一遍,会TLE,所以可以加个lazy。
然后代码中有两次运用到拓扑序来从子向父推DP值。
呃,说得乱糟糟的。
Orz No_stop
不...
分类:
其他好文 时间:
2015-01-14 15:35:14
阅读次数:
209
题意: 给出最多10个长度不超过100000的字符串,求他们的LCS的长度。时限是鬼畜的0.25s 。后缀自动机练习...虽然有人这么说但我并不觉得hash能过。本题可以说是【论SAM中按step排序更新pre的重要性】: 总的来说做法和1811-LCS有点类似,不同的是因为有多个字符串,因此每.....
分类:
其他好文 时间:
2015-01-11 16:05:37
阅读次数:
232
题意: 一个长度不超过250000的字符串,求出它长度为i的子串最多出现了多少次。 后缀自动机练习题...虽说是用Cube评测的不过时限仍然鬼畜。考虑SAM的性质: 一个串的SAM肯定可以接受这个串的所有子串。SAM上的每一个点代表了一个子串。 主链:SAM上最长的那条链,也就是说从根走...
分类:
其他好文 时间:
2015-01-11 15:59:35
阅读次数:
249
题意 给你两个字符串,求他们的LCS的长度 N 2 #include 3 #include 4 #include 5 #define maxn 255000*2 6 using namespace std; 7 8 struct node { int s[26],pre; } Suf[m...
分类:
其他好文 时间:
2015-01-09 22:09:40
阅读次数:
233
题目大意:给定一个字符串,求Σ[1
前两项是可以O(1)求的 我们要求的就是LCP之和
对反串建立后缀自动机 那么parent指针连成的树就是后缀树
直接在后缀树上DP就行- -
对于每个节点统计所有子树两两right集合大小乘积之和乘上这个节点的深度即可
QY神在学校讲了一天的SAM。。。 现在我觉得我还是回去学大型建筑机械吧233- -
#include
#include
#i...
分类:
其他好文 时间:
2015-01-05 16:47:28
阅读次数:
141
各种被屠...学东西各种慢...QAQ字符串:sam:【SPOJ】7258. Lexicographical Substring Search(后缀自动机)【SPOJ】1812. Longest Common Substring II(后缀自动机)【BZOJ】2555: SubString(后缀自动...
分类:
其他好文 时间:
2014-12-30 15:05:34
阅读次数:
239
字符串算法有哪些呢???Tire,KM,KMP,AC自动机,后缀数组,后缀自动机,RK,Shift-And/Or,Manacher.....?这么这么多啊!!!也只能慢慢学了。。。接下来的题是按我做题顺序来排的,难度的话我就不理了(`?ω?´)BZOJ 2434: [NOI2011]阿狸的打字机第一...
分类:
其他好文 时间:
2014-12-28 20:42:24
阅读次数:
197
……另一道题用到,想看看部分代码对不对。于是又拿SAM交了一遍此题。
仅贴代码、...
分类:
其他好文 时间:
2014-12-24 18:15:40
阅读次数:
234