后缀自动机学习笔记 性质 首先,你最好认为每条边是一个字母,每个节点代表一个单词(从t0走到这个点即是此单词的一个后缀)。 所有的正向边,从t0出发沿着nex形成的所有正向边构成一个DEG图,而所有的反向边,即link构成一颗t0为根的树,显然,此树上所有点到根形成的后缀都会被其儿子到根形成的后缀所 ...
分类:
其他好文 时间:
2018-01-14 17:45:14
阅读次数:
136
题目点这里 我们发现这道题可以用后缀自动机做(不会的点这里) 我们发现后缀自动机每条路径代表一条子串,那么我们就DP: 写法一 我们可以把DP方程化简一下,得到写法二 ...
分类:
其他好文 时间:
2018-01-12 22:40:06
阅读次数:
187
You are given a string S which consists of 250000 lowercase latin letters at most. We define F(x) as the maximal number of times that some string with ...
分类:
其他好文 时间:
2018-01-11 20:27:39
阅读次数:
155
1396: 识别子串 Description Input 一行,一个由小写字母组成的字符串S,长度不超过10^5 Output L行,每行一个整数,第i行的数据表示关于S的第i个元素的最短识别子串有多长. Sample Input agoodcookcooksgoodfood Sample Outp ...
分类:
其他好文 时间:
2018-01-09 21:16:59
阅读次数:
167
2946: [Poi2000]公共串 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l 输出结果 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l ...
分类:
其他好文 时间:
2018-01-08 21:41:10
阅读次数:
140
【自动机】 有限状态自动机的功能是识别字符串,自动机A能识别字符串S,就记为$A(S)$=true,否则$A(S)$=false。 自动机由$alpha$(字符集),$state$(状态集合),$init$(初始状态),$end$(结束状态集合),$trans$(状态转移函数)组成。 令$trans ...
分类:
编程语言 时间:
2018-01-07 23:25:42
阅读次数:
209
代码总用时:3h 很简单的一道题,只要意识到Manacher算法的本质(本质不同的回文串的个数是O(n)的),配合后缀自动机或者后缀数组就可以轻松解决。 但这道题调了好久,浪费了很多时间,一是因为后缀自动机模板不熟练,而是Manacher算法流程没有一个清楚的认识。 写代码的时候精力要高度集中,不能 ...
【题意】给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一个最短的子序列,它不是B的子序列 不存在输出-1,1<=len(A),len(B)<=2000。 【算法】 ...
分类:
其他好文 时间:
2018-01-04 13:07:12
阅读次数:
201
【CF873F】Forbidden Indices 题意:给你一个串s,其中一些位置是危险的。定义一个子串的出现次数为:它的所有出现位置中,不是危险位置的个数。求s的所有子串中,长度*出现次数的最大值。 |S|<=200000 题解:板子题啊,沿着pre树统计一下子树权值和,然后用mx*权值和更新答 ...
分类:
其他好文 时间:
2017-12-31 14:14:07
阅读次数:
204
【CF316G3】Good Substrings 题意:给出n个限制(p,l,r),我们称一个字符串满足一个限制当且仅当这个字符串在p中的出现次数在[l,r]之间。现在想问你S的所有本质不同的子串中,有多少个满足所有限制。 |S|,|p|<=10^5,n<=10。 题解:比较简单的后缀自动机题,我们 ...
分类:
其他好文 时间:
2017-12-31 13:35:25
阅读次数:
114