hdu 6194 点击打开链接
求恰好出现k次的不同子串的个数。先求出后缀数组,每次取出排好序后的连续k个后缀求lcp,也就是lcp(sa[i] -- sa[i + k - 1]),但题目要求的是恰好k次,所以还要减掉max(lcp(sa[i - 1] -- sa[i + k - 1]), lcp(sa[i] -- sa[i + k])),这样求出的是这k个后缀对答案的贡献,最后将结果累加起来就行了
hdu 6194 点击打开链接
求恰好出现k次的不同子串的个数。先求出后缀数组,每次取出排好序后的连续k个后缀求lcp,也就是lcp(sa[i] -- sa[i + k - 1]),但题目要求的是恰好k次,所以还要减掉max(lcp(sa[i - 1] -- sa[i + k - 1]), lcp(sa[i] -- sa[i + k])),这样求出的是这k个后缀对答案的贡献,最后将结果累加起来就行了