后缀树组da.pdfVIP

  • 5
  • 0
  • 约2.49千字
  • 约 3页
  • 2018-05-23 发布于河南
  • 举报
后缀树组da

// 已经验证其正确性 //该部分代码可以算出后缀树组中常用的sa 【】数组和height 【】数组 //sa 存放排名第i 的suffix 的起始位置 //height 【i 】存放sa 【i 】与sa 【i-1】的最大公共前缀 #includecstdio #includecstring const int MAXN=1000; int wa[MAXN],wb[MAXN],wv[MAXN],ws[MAXN]; int cmp(int *r,int a,int b,int l) { return r[a]==r[b]r[a+l]==r[b+l]; } void da(int *r,int *sa,int n,int m) { int *x=wa,*y=wb,*t; memset(ws,0,sizeof(ws)); for(int i=0; in; i++) ws[x[i]=r[i]]++; for(int i=1; im; i++) ws[i]+=ws[i-1]; for(int i=n-1; i=0; i--) sa[--ws[x[i]]]=i; for(int j=1,p=

文档评论(0)

1亿VIP精品文档

相关文档