后缀自动机(sam)上的字符串匹配
====
我们把相对较短的模式串构造成sam。
对于P="abcabcacab", T[1..i]的后缀,使得它是sam的最长前缀长度:
T: b a b c b a b c a b c a a b c a b c a b c a c a b c
1 1 2 3 1 1 2 3 4 5 6 7 1 2 3 4 5 6 7 5 6 7 8 9 1...
分类:
其他好文 时间:
2014-07-09 09:38:32
阅读次数:
162
题解转自:http://blog.csdn.net/dyx404514/article/details/8807440
2012杭州网络赛的一道题,后缀数组后缀自动机都行吧。
题目大意:给一个字符串S和一系列字符串T1~Tn,问在S中有多少个不同子串满足它不是T1~Tn中任意一个字符串的子串。
思路:我们先构造S的后缀自动机,然后将每一个Ti在S的SAM上做匹配,类...
分类:
其他好文 时间:
2014-07-08 20:27:04
阅读次数:
288
后缀自动机(SAM)
搜了网上,多介绍应用,[3]算是一个比严格的定义性描述,并给出了证明。但是这个证明我并未看懂,下面综合一些资料给一些个人的直观但不失严谨的理解。
给定一个串A的后缀自动机是一个有限状态自动机(DFA),它能够且仅能够接受A的后缀,并且我们要求它的状态数最少。
设n=|A|, 状态数:st=[n+1,2n-1], 边数:eg=[n,3n-4]。构造:空间复杂度:26*st...
分类:
其他好文 时间:
2014-07-02 08:50:12
阅读次数:
338
trie -- suffix tree -- suffix automa 有这么一些应用场景:
即时响应用户输入的AJAX搜索框时, 显示候选列表。
搜索引擎的关键字个数统计。
后缀树(Suffix Tree): 从根到叶子表示一个后缀。
仅仅从这一个简单的描述,我们可以概念上解决下面的几个问题:
P:查找字符串o是否在字符串S中
A:若o在S中,则o必然是S的某个后缀...
分类:
其他好文 时间:
2014-06-25 08:47:36
阅读次数:
165
后缀自动机的简单运用....
Glass Beads
Time Limit: 3000MS
Memory Limit: 10000K
Total Submissions: 2352
Accepted: 1375
Description
Once upon a time there was a fa...
分类:
其他好文 时间:
2014-06-24 23:02:14
阅读次数:
199
后缀自动机裸题....
Longest Common Substring
Time Limit: 2000MS
Memory Limit: Unknown
64bit IO Format: %lld & %llu
[Submit]
[Go Back] [Status]
Description
A st...
分类:
其他好文 时间:
2014-06-24 22:15:40
阅读次数:
240
给一个原串,以及那些字符是坏的,现在问你可以从原串中取出多少个不同子串,使得其所含的坏字符的个数不超过一个定数。这个题目网上有各种各样的解法。如hash,tire。我说一下我的解法。解法一:后缀自动机dp。f[][]保存到达某个状态,前面已经有的坏字符的个数的时候的字符串数量。这样按照拓扑序列一直递...
分类:
其他好文 时间:
2014-06-24 14:14:07
阅读次数:
169
题目意思是给你一个字符串,f[x]是长度为x的子串中,出现个数最多的那个串的出现次数。给出原串,依次输出f[1],f[2],……。后缀自动机。对于某一个状态,right[]值的大小就是出现的次数,而且是对于长为step[]的子串的出现次数。因为小于step值的串在前面已经加了,在pre指针线上面的状...
分类:
其他好文 时间:
2014-06-23 07:14:18
阅读次数:
254
Codeforces Round #244 (Div. 2)D (后缀自动机)
(标号为0的节点一定是null节点,无论如何都不能拿来用,切记切记,以后不能再错了)
这题用后缀自动机的话,对后缀自动机的很多性质有足够深刻的理解。没想过后缀数组怎么做,因为不高兴敲。。。。
题意:给出两个长度均不超过5000的字符串s1,s2,求这两个串中,都只出现一次的最短公共子串。
解题思路:求的是公共子...
分类:
其他好文 时间:
2014-05-10 09:17:40
阅读次数:
313