Tyvj P1860 字尾陣列 字尾陣列模板題

2021-07-10 20:30:57 字數 794 閱讀 1892

tyvj傳送門

輸入格式

一行,為描述中的字串(僅會出現小寫字母)

輸出格式

共兩行,每行n個數,第一行為sa[i],第二行為height[i],其中每行的數均用空格隔開

測試樣例1

輸入aabaaaab

輸出4 5 6 1 7 2 8 3

0 3 2 3 1 2 0 1

sol:

發現了自己程式的乙個bug….2333quq

#include

#include

#include

using

namespace

std;

#define n 200005

int t1[n],t2[n],c[n];

int sa[n],rk[n],ht[n];

int n,m=27,len;int s[n];

void sort(int *x,int *y)

void da()

for(int i=0;ifor(int i=0,j,k=0;iif(!rk[i]) continue;

j=sa[rk[i]-1],k=k?k-1:0;

while(i+k0]=0;

}char str[64];

void print(int x)

while(x) str[++l]=x%10+'0',x/=10;while(l) putchar(str[l--]);

putchar(' ');

}int main()

TyvjP1860 字尾陣列

描述 我們定義乙個字串的字尾suffix i 表示從s i 到s length s 這段子串。字尾陣列 suffix array sa i 中存放著乙個排列,滿足suffix sa i suffix sa i 1 按照字典序方式比較 定義height i 表示suffix sa i 與suffix ...

tyvj 1860 字尾陣列

真 模板題 然而還是tle了,tyvj真是個毒瘤,輸出double什麼的就是 0.00000000,這些就tle2333 簡單的說一下本蒟蒻看了一天字尾陣列的收穫 這東西太神了,wcwc,收穫到我的膝蓋233,還是不太理解這個神奇的東西 鑑於本人太虛,只看了一下倍增,照著黃學長扒了乙個板子23333...

tyvj 1860 字尾陣列入門題

描述 description 我們定義乙個字串的字尾suffix i 表示從s i 到s length s 這段子串。字尾陣列 suffix array sa i 中存放著乙個排列,滿足suffix sa i 你的任務就是求出sa和height這兩個陣列。字串長度 200000 輸入格式 input...