随笔分类 - 字符串——后缀自动机
摘要:给定n个串和K,求每个串中有多少个子串是这n个串中至少K个串的子串。
阅读全文
摘要:给定n个模式串,多次询问一个串在多少个模式串中出现过。
阅读全文
摘要:"题目链接" 要对多个串同时建立SAM,有两种方法: 1.将所有串拼起来,中间用分隔符隔开,插入字符正常插入即可。 2.在这些串的Trie上建SAM。实际上并不需要建Trie,还是只需要正常插入(因为本来就差不多?)。在要插入下一个串时需把las重新设为root。这就是广义后缀自动机。 对于本题,因
阅读全文
摘要:给你一个字符串init,要求支持两个操作:
(1)在当前字符串的后面插入一个字符串s
(2)询问字符串s在当前字符串中出现了几次
强制在线。
阅读全文
摘要:给定字符串S,求其第K小子串。(若T=0,不同位置的相同子串算1个;否则算作多个)
阅读全文
摘要:题目链接 $Description$ 求最多10个串的LCS(最长公共子串)。 $Solution$ 类比上题,对一个串建SAM,我们可以逐串地求出其在每个节点所能匹配的最大长度mx[i]。 对于每个点i,所有串的mx[i]的最小值即为在点i n个串的LCS长度。枚举所有点即可。 这需要把每个点都匹
阅读全文
摘要:求两个字符串最长公共子串
阅读全文
摘要:"题目链接" $Description$ 给定一段数字序列(Ai∈[1,88]),求最长的两个子序列满足: 1.长度至少为5 2.一个子序列可以通过全部加或减同一个数来变成另一个子序列 3.两个子序列没有重叠部分 $Solution$ 求不重叠最长重复子序列: SA: 首先二分k,判断是否存在长度为
阅读全文

浙公网安备 33010602011771号