博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  字符串——后缀自动机

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