后缀数组罗穗蹇模板(dc3)

#include
#include
#include
#include
#define maxn 1000003
#define F(x) ((x)/3+((x)%3==1?0:tb))
#define G(x) ((x)=0;i--) b[--ws[wv[i]]]=a[i];
    return;
}
void dc3(int *r,int *sa,int n,int m)
{
    int i,j,*rn=r+n,*san=sa+n,ta=0,tb=(n+1)/3,tbc=0,p;
    r[n]=r[n+1]=0;
    for(i=0;ib) {t=a;a=b;b=t;}
    return(height[askRMQ(a+1,b)]);
}
char c[maxn];
struct pi{
    int x;
    int y;
}pp[maxn];
int main()
{
    int i,j,n,m,p,k,le,ri,mid;
    while(1){
        scanf("%d",&k);
        if(k==0) break;
        scanf("%s",c);
        n=strlen(c);
        for(i=0;i

你可能感兴趣的:(后缀数组,模板,ACM,后缀数组)