后缀数组代码详解
上图中存在直边和斜边,下文会用到。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1000;
const int maxasc = 128; //ascII码[0,127]
char s[maxn];
int sa[maxn],t1[maxn],t2[maxn],c[maxn],n;
void debug()
{
for(int i=0; i<n; i++) printf("%d ",sa[i]);
printf("\n");
}
void build_sa(int m)
{
int *x = t1, *y = t2;//因为之后我们要s