1009 失戀的小 T(字尾陣列 )

2022-03-07 09:06:09 字數 1408 閱讀 6448

時間限制: 1 sec  記憶體限制: 128 mb

提交: 160  解決: 76

[提交][狀態][討論版]

小 t 最近失戀了,開始懷疑人生和愛情,他想知道在這世界中去偽存真後還剩多少。 

小 t 在網上拿到了代表大千世界的長字串,刪掉了所有換行空格和標點符號,只剩下了小寫字母。 

現在字串中有好多重複的子串,相同子串裡只有乙個是 real 的。 

為了讓小 t 走出失戀,你一定要告訴他這個世界上 real 的東西有多少。 

(子串:串中任意個連續的字元組成的子串行稱為該串的子串) 

包含 100 組輸入,每組為一行字串,只包含小寫字母,長度 1-5000。 

輸出 100 行,每行乙個整數,對應輸入的答案。 

aaba

8

字尾陣列,

我還不會,,

1 #include2 #include3 #include4 #include 

5 #include

6 #include7 #include8 #include

9 #include10 #include11 #include12 #include13

using

namespace

std;

14#define maxn 200100

15#define maxm 200005

16#define rd(x) scanf("%d", &x)

17#define rd2(x, y) scanf("%d%d", &x, &y)

18#define mod 1000000007

19const

int maxn = 20010;20

intt1[maxn],t2[maxn],c[maxn];

21bool cmp(int *r, int a,int b,int

l)24

void da(int str, int sa, int rankk, int height, int n, int

m)46

int k =0

;47 n--;

48for(i = 0; i <= n;i++) rankk[sa[i]] =i;

49for(i = 0; i < n;i++)55}

56int

rankk[maxn],height[maxn];

57char

str[maxn];

58int

r[maxn],sa[maxn];

59int

main()

6075 printf("

%lld\n

", res);76}

77return0;

78 }

失戀的小 T(字尾陣列)

時間限制 1 sec 記憶體限制 128 mb 提交 174 解決 75 提交 狀態 討論版 小 t 最近失戀了,開始懷疑人生和愛情,他想知道在這世界中去偽存真後還剩多少。小 t 在網上拿到了代表大千世界的長字串,刪掉了所有換行空格和標點符號,只剩下了小寫字母。現在字串中有好多重複的子串,相同子串裡...

弱校聯盟con 7 失戀得小T(字尾陣列)

小 t 最近失戀了,開始懷疑人生和愛情,他想知道在這世界中去偽存真後還剩多少。小 t 在網上拿到了代表大千世界的長字串,刪掉了所有換行空格和標點符號,只剩下了小寫字母。現在字串中有好多重複的子串,相同子串裡只有乙個是 real 的。為了讓小 t 走出失戀,你一定要告訴他這個世界上 real 的東西有...

字尾陣列模板 LCP小證明

複習了一遍字尾陣列 關於lcp的證明 簡單的說下 設p min height k ilcp i,j p,顯然lcp i,j p 排名越相近,字首越可能相同 假設lcp i,j tp。則字串sa i 和字串sa j 前tp位相同。從sa i 到sa j 之間的字串一定是從sa i 到sa j 字典序遞...