数据结构-后缀自动机
Toooooocold
这个作者很懒,什么都没留下…
展开
-
【sam+树DP】POJ 3415 Common Substrings
Source:Source:Source:Common Substrings Problem:Problem:Problem:求AB两个字符串的公共子串长度>=k的数量 Idea:Idea:Idea: 基础的后缀自动机操作。 对A建sam,B串通过失配跑最长公共子串,在lcs>=k时即使更新答案,方便处理,并对父亲打上lazy标志,dp[u]表示该状态在B串中出现了几次。sam...原创 2018-07-22 14:56:05 · 224 阅读 · 0 评论 -
【广义sam】bzoj3277 串
Source:Source:Source:串 Problem:Problem:Problem:n个字符串,对于每个串,有多少个子串至少存在于k个字符串中 Idea:Idea:Idea:right集合用set存出现的串标号。由于广义sam有废点(我这种写法),废点对parent树有影响,所以不能基排,直接建树跑dfs更新right集合,考虑启发式合并。之后每个串都扔进去跑一遍就行了。不需要考虑在...原创 2018-07-22 22:42:02 · 206 阅读 · 0 评论 -
【广义sam】Gym101194F Mr. Panda and Fantastic Beasts
Sourcce:Sourcce:Sourcce:2016-2017 ACM-ICPC CHINA-Final Problem:Problem:Problem:给n个串,找一个最短且字典序最小的子串只在第一个串中出现过。 Idea:Idea:Idea: 如果不需要字典序最小,可以二分答案+hash或者对后n-1个串建广义sam,跑失配,但是这样比较最小字典序就很麻烦(虽然暴力比能过)。 考虑对n个串...原创 2018-11-23 02:22:27 · 328 阅读 · 0 评论 -
【sam+二分】Gym101840B Breaking the Curse
Souce:Souce:Souce: Egyptian Collegiate Programming Contest 2017 (ACM ECPC 2017) Problem:Problem:Problem: 给定两个字符串s1和s2,q次查询,每次查询s1中的一段区间[L,R]中有多少个子串在s2中出现过。 Idea:Idea:Idea: 对s2建sam,用s1跑最长公共子串,得到每个位置i往左...原创 2018-11-28 00:50:29 · 296 阅读 · 0 评论