题目链接: Poj 2774 Long Long Message题目描述: 给出A,B两个字符串,求最长公共子串?解题思路: 求A,B字符串的最长公共子串可以转化为求A,B字符串后缀数组的最长公共前缀。把B串连接在A串后面,用'$'隔开组成r串。求出r串的height数组,最大的height[...
分类:
编程语言 时间:
2015-09-04 18:35:59
阅读次数:
213
后缀数组又被称为字符串处理神器;http://blog.csdn.net/xymscau/article/details/8798046 这里讲的非常好实现rank排名是用到了倍增法和一个比较神奇的计数排序,时间复杂度是nlongnheight[i]存放的是排名第i的后缀与排名第i-1的后缀的最长前...
分类:
编程语言 时间:
2015-09-04 18:32:51
阅读次数:
186
题目大意:RT分析:练手题目....后缀数组确实很强大.....多理解height数组, 切勿使用模版,后缀数组本身就有很多细节,多犯错更有利理解这个算法。代码如下:===================================================================...
分类:
其他好文 时间:
2015-09-04 18:22:14
阅读次数:
174
题目大意:给你一个数组,求这个数组里面至少重复k次的子串。分析:后缀数组的练手题目...不过给的数字比较大,可以先离散化处理一下即可。代码如下:==============================================================================...
分类:
其他好文 时间:
2015-09-04 15:38:35
阅读次数:
218
1 const int N = 100005; 2 int wa[N],wb[N],wv[N],ws[N]; 3 int cmp(int *r,int a,int b,int l) 4 { 5 return r[a]==r[b]&&r[a+l]==r[b+l]; 6 } 7 void da...
分类:
编程语言 时间:
2015-09-03 14:02:37
阅读次数:
229
暑假就这么过去了...这个暑假好像没学什么...刚放假就在刷题, 然后就学了点数论(欧拉函数, 莫比乌斯函数/反演)...然后八月集训也没弄什么..参加了几场比赛..写了写我不擅长的字符串(后缀数组, kmp), 哈希大法好!CF, BC的比赛都是没有部分分的..我又太弱了, 不太想参加..而且CF...
分类:
其他好文 时间:
2015-09-03 12:45:35
阅读次数:
212
Life Forms Problem's Link Mean:给你n个串,让你找出出现次数大于n/2的最长公共子串。如果有多个,按字典序排列输出。 analyse:经典题。直接二分判断答案。判断答案p时,我们扫一遍height数组,如果height[i]#include #inc...
分类:
编程语言 时间:
2015-09-03 00:38:47
阅读次数:
324
【最长重复子串问题】可重叠最长重复子串 -- POJ 3261题意:给出包含n个元素的数组a,问其中最长可重叠重复子串的长度,要求该子串至少重复k次;输入保证至少存在一个重复k次的最长子串;难点:二分查找子串的长度,注意对该长度的子串是否存在K个重复子串的判定方法;代码: 1 /* 2 Prob.....
分类:
编程语言 时间:
2015-08-31 11:45:28
阅读次数:
275
模板奉上int rank[maxn],height[maxn];void calheight(int *r,int *sa,int n){ int i,j,k=0; for(i=1;i1 且Rank[i]>1,一定有h[i]≥h[i-1]-1。(这条性质要好好理解!) 证明:设suf...
分类:
编程语言 时间:
2015-08-30 19:09:37
阅读次数:
312
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 const int maxn = 100001; 8 int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; 9 int c...
分类:
编程语言 时间:
2015-08-30 19:07:22
阅读次数:
249