题目链接 题意:输入N(2 <= N <= 4000)个长度不超过200的字符串,输出字典序最小的最长公共连续子串; 思路:将所有的字符串中间加上分隔符,注:分隔符只需要和输入的字符不同,且各自不同即可,没有必要是最小的字符; 连接后缀数组求解出height之后二分长度,由于height是根据sa数 ...
分类:
编程语言 时间:
2016-04-11 22:14:06
阅读次数:
199
题目链接 题意:给两个长度不超过1e5的字符串,问两个字符串的连续公共子串最大长度为多少? 思路:两个字符串连接之后直接后缀数组+LCP,在height中找出max同时满足一左一右即可; ...
分类:
编程语言 时间:
2016-04-11 01:44:34
阅读次数:
265
题目链接 题意:给定长度为n(n <= 1000)的只含小写字母的字符串,问字符串子串不重叠出现最少两次的不同子串个数; input: aaaa ababcabb aaaaaa # output 2 3 3 思路:套用后缀数组求解出sa数组和height数组,之后枚举后缀的公共前缀长度i,由于不能重 ...
分类:
编程语言 时间:
2016-04-10 23:58:53
阅读次数:
610
求字符串内的非空子串的数量 后缀数组!!! ...
分类:
其他好文 时间:
2016-04-10 22:38:08
阅读次数:
336
D. Match & Catch 能够用各种方法做。字符串hash。后缀数组,dp。拓展kmp,字典树。。。 字符串hash(模板) http://blog.csdn.net/gdujian0119/article/details/6777239 BKDR Hash Function : // BK ...
分类:
编程语言 时间:
2016-04-09 16:58:27
阅读次数:
217
Life Forms Description You may have wondered why most extraterrestrial life forms resemble humans, differing by superficial traits such as height, col ...
分类:
编程语言 时间:
2016-04-09 08:07:21
阅读次数:
266
以前一直听说什么后缀数组height合并之类的 表示我这种后缀数组都敲不熟的蒟蒻怎么会写 但是做了做觉得还是很简单的嘛 这个题是有两问的,第一问是求LCP>=R的后缀对有多少个 这个就是AHOI2013 差异 稍微变个形啦 直接逆序建后缀自动机,在parent树上做一个很简单的树P就可以了 因为对于 ...
分类:
其他好文 时间:
2016-04-08 06:42:26
阅读次数:
199
显然我们可以先把len(Ti)+len(Tj)的值先算出来,再把LCP减去。所有len(Ti)+len(Tj)的值为n*(n-1)*(n+1)/2,这个随便在纸上画一画就可以算出来的。 接下来问题就是如何把LCP减去。我们先用后缀数组把height求出来,当有一段区间l~r,height[i]为he ...
分类:
编程语言 时间:
2016-04-04 01:29:08
阅读次数:
331
题意是给你n个数字组成的序列将序列切成三段, 然后将三段逆序之后字典序最小, 问你该怎么切,保证序列中第一个数最大, 我们可以找到两个切点然后翻转即可, 第一个切点可以将整个序列翻转之后找出最小的后缀即可, 对于第二个假设我们将ABCD序列中AB CD分别翻转得到BADC字典序最小, 那么我们可以构 ...
分类:
编程语言 时间:
2016-03-27 23:46:23
阅读次数:
205