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