SPOJ
Cold_Chair
我XXX就是饿死,死外边,从这里跳下去,也不会再做你九条可怜一个测试点
展开
-
SPOJ LCS2 - Longest Common Substring II
原题链接.题解:变成了多个串的最长公共子串了。还是对一个串建后缀自动机。其它的串放上去跑。对于每个状态求一个最小值,最后答案求一个最大值就行了。但是注意在匹配过程中,匹配到一个状态,但是实际上有很多状态也被匹配到了,考虑这种情况一个状态的值需要传递给它的parent。这个可以全部求出后按Turpo序来搞。为什么只传给parent是对的呢?后缀自动机有一个性质: 两个子串的最长公共后缀为它们对应状态原创 2017-12-08 19:57:32 · 249 阅读 · 0 评论 -
SPOJ LCS - Longest Common Substring
题目链接.题解:后缀自动机的例题。首先要知道一个性质: 一个状态s,所能代表的子串长度是(stepparentx,stepx](step_{parent_x},step_x]。对串A建后缀自动机。串B在上面跑。如果x有对应的子节点,那么直接走过去,len ++如果当前的x状态上没有对应的子节点,那就x = parent[x],直到有对应的子节点或者出了自动机。出了自动机,len = 0,注意把x赋原创 2017-12-08 19:15:29 · 267 阅读 · 0 评论