计算不同的非空子串
计算方法
这道题是我在BCSP-X小高组的题目中发现的一道
没事闲的就写了代码和思路:

代码
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
// 用于存储后缀数组的比较函数
struct Suffix {
int index;
int rank[2];
};
// 比较函数
int cmp(struct Suffix a, struct Suffix b) {
if (a.rank[0] == b.rank[0])
return a.rank[1] < b.rank[1];
else
return a.rank[0] < b.rank[0];
}
// 构建后缀数组
vector<int> buildSuffixArray(string s) {
int n = s.size();
struct Suffix suffixes[n];
for (int i = 0; i < n; i++

最低0.47元/天 解锁文章
2356

被折叠的 条评论
为什么被折叠?



