摘要: 题意:给出一串长度为n的字符,再给出一个k值,要你求重复次数大于等于k次的最长子串长度........思路:其实也非常简单,直接求出height值,然后将它分组,二分答案......结果就出来了.......#include#include#include#includeusing namespace std;#define maxx 110000int wa[maxx],wb[maxx],wsf[maxx],wv[maxx];int sa[maxx],rank[maxx],s[maxx],height[maxx];struct node{ int num,x;}str[maxx];int c 阅读全文
posted @ 2013-07-17 15:21 紫忆 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题意:给一串字符,需要你求不相同的回文子串个数.......同ural1297,链接:http://www.cnblogs.com/ziyi--caolu/archive/2013/06/09/3129877.html#include#include#includeusing namespace std;#define maxn 210000#define max(x,y) x>y? x:y#define min(x,y) x>y? y:xint dp[maxn][32],log2[maxn];int wa[maxn],wb[maxn],wsf[maxn],wv[maxn],sa[ 阅读全文
posted @ 2013-07-17 14:40 紫忆 阅读(437) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1743题意:给出一串字符,求不重合的最长重复子串..........我自己的一点想法:编完后发现,其实就是将height值分组,然后记录在二分答案时满足height值>=p的sa[i]的最大最小值,然后要是最大值减去最小值会>=p,这就说明两个子串的lcp值>=p并且它们的坐标也相差>=p,就自然满足题意.........#include#include#includeusing namespace std;#define maxx 20010int wsf[maxx],wa[maxx],wv[maxx],wb[ma 阅读全文
posted @ 2013-07-17 11:01 紫忆 阅读(1135) 评论(0) 推荐(1) 编辑
摘要: http://www.spoj.com/problems/REPEATS/题意:给一串字符,需要你求这一串字符中有连续重复的字符的重复次数.......思路:这是和poj3693一种类型的题目......这里是详细解答:http://www.cnblogs.com/ziyi--caolu/p/3193823.html注意:还需注意的地方,我一直图方便,再求lcp值时,总是从height值的起点到终点,其实应该是起点+1#include#include#includeusing namespace std;#define min(x,y) x>y? y:x#define maxn 5100 阅读全文
posted @ 2013-07-17 10:20 紫忆 阅读(639) 评论(0) 推荐(0) 编辑