前言
幾個星期後,我再打果然..各種細節qwq【所以把**丟這裡容易找一點...
字尾陣列模版+注釋
#include#include#include#includeusing namespace std;int sa[11000],y[11000],rank[11000];
//sa[i]表示排第i的是suffix(sa[i])
//rank[i]表示suffix(i)在所有字尾中排第幾
int a[11000],wr[11000],n,rsort[11000],height[11000];
int mymax(int x,int y)
bool cmp(int k1,int k2,int ln)
void get_height(int len)
}//heigth[i]表示排名相鄰的兩個字尾的最長公共字首
//h[i]=height[rank[i]]
void get_sa(int m) //構建sa字尾陣列
//得到新的rank陣列
m=p; ln*=2;
}a[0]=0; sa[0]=0;
}int main()
m+=10;get_sa(m);
get_height(n);
for (i=1;i<=n;i++)
printf("%d ",sa[i]);
system("pause");
return 0;
}
idea方法注釋模版
idea原始的方法注釋模版太簡單了,維護不方便,加個模版可以提高一些效率,減少溝通成本,想配置的可以看下,非常簡單 1 edit editor live templates 2 點 號,新增乙個template group,名字隨意 4 點 號,新增乙個live template,abbreviat...
字尾陣列 羅穗騫倍增演算法詳細注釋
link include const intmaxn 100010 intwa maxn wb maxn wv maxn ws maxn intcmp int r,inta,intb,intl 就像 所說,由於末尾填了0,所以如果r a r b 實際是y a y b 說明待合併的兩個長為j的字串,前...
字尾陣列 羅穗騫倍增演算法詳細注釋
include const int maxn 100010 int wa maxn wb maxn wv maxn ws maxn int cmp int r,int a,int b,int l 就像 所說,由於末尾填了0,所以如果r a r b 實際是y a y b 說明待合併的兩個長為j的字串,...