Description String analysis often arises in applications from biology and chemistry, such as the study of DNA and protein molecules. One interesting p ...
分类:
编程语言 时间:
2016-11-23 07:40:21
阅读次数:
167
Description Given a string, find a substring of it which the original string contains exactly n such substrings. Description Given a string, find a su ...
分类:
编程语言 时间:
2016-11-17 23:15:24
阅读次数:
211
【题目链接】 http://acm.timus.ru/problem.aspx?num=1297 【题目大意】 求最长回文子串,并输出这个串。 【题解】 我们将原串倒置得到一个新的串,加一个拼接符将新串拼在原串的后面, 那么枚举对称的中心点, 在两个串在组合成的串的对应位置的后缀的最长公共前缀 就是 ...
分类:
编程语言 时间:
2016-11-16 02:41:30
阅读次数:
220
【题目链接】 http://www.spoj.pl/problems/PHRASES/ 【题目大意】 求在每个字符串中出现至少两次的最长的子串 【题解】 注意到这么几个关键点:最长,至少两次,每个字符串。 首先对于最长这个条件,我们可以想到二分答案, 然后利用后缀数组所求得的三个数组判断是否满足条件 ...
分类:
编程语言 时间:
2016-11-16 02:41:18
阅读次数:
223
【题目链接】 poj.org/problem?id=3693 【题目大意】 求一个串重复次数最多的连续重复子串并输出,要求字典序最小。 【题解】 考虑错位匹配,设重复部分长度为l,记s[i]和s[i+l]前缀匹配得到的最长长度为r, 枚举所有的l和i,得到r,那么答案就是r/l+1的最大值。 计算任 ...
分类:
编程语言 时间:
2016-11-16 02:29:14
阅读次数:
242
【题目链接】 http://www.spoj.com/problems/REPEATS/en/ 【题目大意】 求重复次数最多的连续重复子串的长度。 【题解】 考虑错位匹配,设重复部分长度为l,记s[i]和s[i+l]前缀匹配得到的最长长度为r,枚举所有的l和i,得到r,那么答案就是r/l+1的最大值 ...
分类:
编程语言 时间:
2016-11-16 02:28:46
阅读次数:
226
【题目链接】 http://poj.org/problem?id=3294 【题目大意】 求出在至少在一半字符串中出现的最长子串。 如果有多个符合的答案,请按照字典序输出。 【题解】 将所有的字符串通过不同的拼接符相连,作一次后缀数组, 二分答案的长度,然后在h数组中分组,判断是否可行, 按照sa扫 ...
分类:
编程语言 时间:
2016-11-16 02:03:11
阅读次数:
200
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1717 【题目大意】 求一个最长的串,使得其在母串中出现的次数达到要求 【题解】 二分答案,利用后缀数组求出的height数组进行检验 【代码】 ...
分类:
编程语言 时间:
2016-11-16 01:54:11
阅读次数:
207
【题目链接】 http://poj.org/problem?id=3261 【题目大意】 求最长可允许重叠的出现次数不小于k的子串。 【题解】 对原串做一遍后缀数组,二分子串长度x,将前缀相同长度超过x的后缀分组, 如果存在一个大小不小于k的分组,则说明答案可行,分治得到最大可行解就是答案。 【代码 ...
分类:
编程语言 时间:
2016-11-16 01:47:23
阅读次数:
175
【题目链接】 http://poj.org/problem?id=2774 【题目大意】 求最长公共子串 【题解】 将两个串中间嵌一个字符相连,求一遍后缀数组 如果排名相邻的两个后缀的开端是分属于两个串的, 那么他们的最长公共前缀就可以用来更新答案 【代码】 ...
分类:
编程语言 时间:
2016-11-16 01:43:33
阅读次数:
147