2014年9月15日
摘要: 求两个后缀数组的最长公共前缀,可以转化为求某个区间上的最小值。 接下来,先来构造后缀数组,先看这里。 //求两个后缀的最长公共前缀 int lcs(int i, int j){ int b, e; if(RANK[i] > RANK[j]) e=RANK[i], b=RANK[j]+... 阅读全文
posted @ 2014-09-15 23:46 Rex7 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 2倍倍增算法的主要思路是:用倍增的方法对每个字符开始的长度为2^k的字符串进行排序,求出排名,即rank值。#includeusing namespace std;const int maxlen = 10011;int tsa[maxlen], RANK[maxlen], sum[maxl... 阅读全文
posted @ 2014-09-15 23:18 Rex7 阅读(207) 评论(0) 推荐(0) 编辑