随笔分类 - 字符串数据结构:后缀自动机
摘要:传送门 解题思路: 首先在后缀树上,确定了一个节点就相当于确定了一个串,那么一个点对应的串在另外一个点对应的串产生贡献,当且仅当这个点在当前点子树内。 那么考虑一个新的点在串中对串答案的贡献在一条树链上或者反过来说,就是产生贡献的点在这个点子树内。 才知道自己写的广义后缀自动机板子是错的QAQ 考虑
阅读全文
摘要:传送门: 解题思路: 很坑的一道题,需要离线处理,假如只有一组询问,那么就可以直接将endpos集合直接累加输出就好了。 这里就要将询问挂在树节点上,在进行线段树合并时查询就好了。 代码超级容易写挂的。 注意要将匹配串时尽量找到最浅根,易于统计答案。 倍增处理就好了。 代码:
阅读全文
摘要:Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日。 粉丝们非常热情,自发组织表演了一系列节目给幽香看。幽香当然也非常高兴啦。 这时幽香发现了一件非常有趣的事情,太阳花田有n块空地。在过去,幽香为了方便,
阅读全文
摘要:Description Just like humans, cows often appreciate feeling they are unique in some way. Since Farmer John's cow s all come from the same breed and lo
阅读全文
摘要:Description 魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示。例如可以将魔咒字符 1、2 拼凑起来形成一个魔咒串 [1,2]。 一个魔咒串 S 的非空字串被称为魔咒串 S 的生成魔咒。 例如 S=[1,2,1] 时,它的生成魔咒有 [1]、[2]、[1,2]、[2,1]、[1,2,1]
阅读全文
摘要:传送门 解题思路: 既然是询问循环字符串出现次数,那么第一步当然是要倍长。 注意这里的贡献最好在广义后缀自动机中跑一遍匹配。 注意一定要一直控制其长度否则会出现前段失配现象导致算了不该算的。 代码:
阅读全文
摘要:传送门在这里。 大意: 给一堆字符串,询问每个字符串有多少子串在所有字符串中出现K次以上。 解题思路: 这种子串问题一定要见后缀自动机Parent树Dfs序统计出现次数都是套路了吧。 这道题统计子串个数,那么可以发现,若一个节点所对应的子串出现了K次,那么其贡献就是len,不需要考虑重复。 因为即使
阅读全文
摘要:Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插
阅读全文
摘要:Description Input 第一行包含一个整数n(≤100000)。 第二行是长度为n的由0到9组成的字符串。 第三行是一个整数m。 接下来m≤5·10行,第i行是一个由0到9组成的字符串s,保证单行字符串长度小于等于10^5,所有字符串长度和小于等于3·10^6 第一行包含一个整数n(≤1
阅读全文
摘要:Description 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有
阅读全文
摘要:Description 字符串是oi界常考的问题。现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中 至少k个字符串的子串(注意包括本身)。 字符串是oi界常考的问题。现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中 至少k个字符串的子串(注
阅读全文
摘要:Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数接下来M行的01串,表示标准作文库接下来N行的01串,表示N篇作文 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数接下来M行的01串,表示标准作文库接下来N行的01串,表示N篇作
阅读全文
摘要:Description Oimaster and sevenk love each other. But recently,sevenk heard that a girl named ChuYuXun was dating with oimaster.As a woman's nature, s
阅读全文
摘要:Description Input 一行,一个由小写字母组成的字符串S,长度不超过10^5 Output L行,每行一个整数,第i行的数据表示关于S的第i个元素的最短识别子串有多长. Sample Input agoodcookcooksgoodfood Sample Output 1 2 3 3
阅读全文
摘要:Description 对于一个给定长度为N的字符串,求它的第K小子串是什么。 对于一个给定长度为N的字符串,求它的第K小子串是什么。 Input 第一行是一个仅由小写英文字母构成的字符串S 第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的
阅读全文
摘要:后缀自动机不是Trie树上的,蒟蒻的我才知道。 那个树叫parent。 代码(增量构造): 有些算法是构建在parent树上的(类似trie图中的fail树)。 广义后缀自动机:
阅读全文
摘要:Description a180285幸运地被选做了地球到喵星球的留学生。他发现喵星人在上课前的点名现象非常有趣。 假设课堂上有N个喵星人,每个喵星人的名字由姓和名构成。喵星球上的老师会选择M个串来点名,每次读出一个串的时候,如果这个串是一个喵星人的姓或名的子串,那么这个喵星人就必须答到。 然而,由
阅读全文