HDU4622 字尾自動機

2021-06-17 20:39:15 字數 580 閱讀 3044

題目:reincarnation

題意:給定乙個字串,然後再給定q個詢問,每個詢問是乙個區間[l,r],問在這個字串區間中有多少個不同的子串。

字尾自動機模版題:

#include #include #include #include using namespace std;

const int n=5010;

struct state

int calc()

}*root,*last;

state statepool[n*2],*cur;

void init()

int tot;

void insert(int w)

else

else

}last=np;

}int ans[n][n];

char s[n];

void work()

HDU 4622(字尾自動機)

czh得意的向cry炫耀自己的英文水平,cry很不屑的扔給czh一篇文章,雖然czh看完之後頭暈眼花,但他還是決定猜測一下文章中單詞的意思,由於文章連空格都沒有,這大大增加了閱讀的難度,於是他決定退而求其次,只需要計算一下從第l個字元到第r個字元中有多少個可能的互不相同單詞 任意長度 1 任意組合的...

字尾陣列 lcp st表 hdu4622

hdu4622 字尾陣列基礎題?昨天學了字尾排序其實最有用的是字尾陣列求lcp lcplc p?用了乙個hei ght i l cp s a i sa i 1 height i lcp sa i sa i 1 height i lcp sa i sa i 1 也就是排名為i ii的和排名i 1 i ...

字尾自動機

基礎知識 step i 表示的是字串i在原字串中的位置。pareint i 表示root到parent i 的子串是root到i的最長字尾。字尾自動機遍歷可以得到原字串的所有子串。特殊技巧 一 字尾自動機的不同子串數有兩種求法 1.ans step i step parent i 1 i cnt 2...