随笔分类 -  后缀自动机

摘要:题意: 对于一个给定的长度为n的字符串,求出它的第k小子串。 有参数t,t为0则表示不同位置的相同子串算作一个,t为1则表示不同位置的相同子串算作多个。 题解: 首先,因为t的原因,后缀数组较难实现,这里不讨论。 使用后缀自动机: 因为,这里需要按字典序考虑子串,所以要使用trs指针。 首先,计算出 阅读全文
posted @ 2019-10-01 21:59 lnzwz 阅读(679) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 先考虑68分的做法: 求在A串中出现,且在B串中没出现的串的数量。 使用容斥,用A的不同子串数减去A,B的不同公共子串数。 先用双指针,求出A的每个位置开始,在B中最多能向后匹配多远。 然后,问题变为,给你一些区间,问它们的子区间中有多少不同的串。 因为每个串,都是原区间[l,r] 阅读全文
posted @ 2019-08-14 21:07 lnzwz 阅读(180) 评论(0) 推荐(0) 编辑
摘要:概念 后缀自动机,是一个能识别一个字符串的所有后缀的自动机。 考虑一种最简单的实现: 将一个字符串的所有后缀插入到一棵trie中。 如图: 可以发现后缀树每个点对应一个后缀集合,每个点对应的后缀集合是这个点子树中所有结束节点所表示的后缀的集合。 把每个点对应的后缀集合称为righ(x) 由于一个字符 阅读全文
posted @ 2019-07-25 18:44 lnzwz 阅读(305) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示