题目大意:给出n个数字。首先将这n个数前后做差,得到另一个长度是n-1的序列。求出这个序列的最长重复子串,且这些子串不能重叠。
PS:这题论文上有解析。
解题思路:先二分答案,把题目变成判断性问题:判断是否存在两个长度为k的字串是否相同的,且不重叠。解决这个问题的关键还是利用height数组。把排序后的后缀数组分成若干组,其中每组的后缀之间的height值都不小于k。
容易看出,有希望成...
分类:
编程语言 时间:
2015-01-22 18:08:28
阅读次数:
238
设定一个当前子字符串:tempString
设定一个保持最长无重复子串的数组:list
思路:
从第一个字符开始判断,如果当前子串不包括当前的字符,则当前子串加入当前的字符成为新的当前子串,否则,判断当前子串跟list数组中的子串长度,
如果当前子串长,则清空list,把当前子串加入;如果相等,直接将当前子串加入list,如果当前子串短,
public static void longe...
分类:
其他好文 时间:
2015-01-17 12:41:14
阅读次数:
125
题意:
给一个字符串,然后找一个子串,使子串满足其中连续重复子串最多。
比如ababab,重复次数为3,ababa,重复次数为1(abab是两次)
恶心在于还要输出最小字典序。
题解网上都有,不发了。
代码:
#include
#include
#include
#include
#define N 101000
#define LOGN 20
#define...
分类:
编程语言 时间:
2015-01-13 15:58:20
阅读次数:
256
http://poj.org/problem?id=1743题意:不可重叠最长重复子串,n#include using namespace std;const int N=20015;void sort(int *x, int *y, int *sa, int n, int m) { static ...
分类:
其他好文 时间:
2015-01-12 22:17:25
阅读次数:
153
求字符串中的最长无重复子串的长度,例如"abcabcbb",最长无重复子串为"abc",长度为3。因为要求无重复,因此想到要用HashMap来保存,因为HashMap的键值不能重复。将要存入的字符作为key,字符在字符串中的下标作为value,如果map中已经存有该字符,则删掉该字符以及字符串中该字符之前的所有字符,然后再存入。例如字符串为"abcbd",如已存入abc,现在要存b,则删掉ab,存...
分类:
其他好文 时间:
2015-01-12 11:38:25
阅读次数:
217
题意: 一个长度不超过250000的字符串,求出它长度为i的子串最多出现了多少次。 后缀自动机练习题...虽说是用Cube评测的不过时限仍然鬼畜。考虑SAM的性质: 一个串的SAM肯定可以接受这个串的所有子串。SAM上的每一个点代表了一个子串。 主链:SAM上最长的那条链,也就是说从根走...
分类:
其他好文 时间:
2015-01-11 15:59:35
阅读次数:
249
水题不好意思说题解。
说说题意吧:
给一个字符串(数字串),然后求最长k次重复子串。
即某串在字符串中重复了至少k次,求这种串的最长长度。
代码:
#include
#include
#include
#include
#define N 21000
using namespace std;
struct LSH
{
int x,id;
bool operat...
分类:
编程语言 时间:
2015-01-05 09:37:41
阅读次数:
176
求重复k次的最长重复子串,解法见罗穗骞大神的后缀数组论文 1 const maxn=100419; 2 3 var 4 x,y,rank,sa,h,s,num,c:array[0..maxn] of longint; 5 n,time:longint; 6 7 functi...
分类:
其他好文 时间:
2014-12-16 20:56:25
阅读次数:
195
二分长度k 长度大于等于k的分成一组 每组sa最大的和最小的距离大于k 说明可行
#include
#include
#include
using namespace std;
const int maxn = 20010;
int s[maxn];
int sa[maxn];
int t[maxn], t2[maxn], c[maxn];
int rank[maxn], height[m...
分类:
编程语言 时间:
2014-12-15 19:05:57
阅读次数:
214
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without
repeating letters for "abcabcbb" is "abc", which the length is 3. Fo...
分类:
其他好文 时间:
2014-12-12 11:49:07
阅读次数:
132