后缀自动机SuffixAutomaton-y7070.PPT

后缀自动机SuffixAutomaton-y7070

V:SPOJ LCS 我们考虑用SAM读入字符串B。 令当前状态为s,同时最大匹配长度为len 我们读入字符x。如果s有标号为x的边, 那么s=trans(s,x),len = len+1 否则我们找到s的第一个祖先a,它有标号为x的边,令 s=trans(a,x),len=Max(a)+1。 如果没有这样的祖先,那么令s=root,len=0。 在过程中更新状态的最大匹配长度 V:SPOJ LCS 注意到我们求的是对于任意一个Right集合中的r,最大的匹配长度。那么对于一个状态s,它的结果自然也可以作为它Parent的结果,我们可以从底到上更新一遍。 然后问题就解决了。 VI:SPOJ LCS2 一些其他的东西 其实不仅仅有Suffix Automaton还有。。 Factor Automaton Suffix Oracle Factor Oracle Suffix Cactus Oracle的意思是神谕!听起来很强吧。 Factor Oracle 一个串的Factor Oracle是一个自动机,可以识别这个串的所有子串的集合,但也可以识别一些别的乱七八糟的东西。 其实Oracle也有预言的意思,所以这个是不一定准的。 Factor Oracle的构造算法非常的简单,不过我也不知道这个在OI中有什么用,就不讲了。 广告 我会把课件和代码放在我的博客上,地址是: /wjbz

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档