SA 學習筆記

2022-04-09 10:58:27 字數 393 閱讀 1356

字尾陣列是解決字串問題的有力工具——羅穗騫

字尾陣列是對字串的字尾排序的乙個工具,

sa將排名為i的字串的開頭位置記錄下來,

rnk將開頭位置為i的字串的排名記錄下來。

如**(剛剛寫到一半機房電腦藍屏了,心態**,先放的)

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

const int n=1e6+10;

int sa[n],tax[n],rnk[n],tp[n],m=127,n;

char a[n];

void qsort()

void sasort()

}}int main()

SA 字尾陣列 學習筆記

今天沒事幹,學了sa 其實是模擬賽掛了 引用資料 2009年國家集訓隊 洛谷 273期 我們記 sa i 為排名為 i 的字尾的開始位置。rk i 為開始位置為 i 的字尾的排名。我們採用基數排序,因為這樣在排序第一關鍵字的時候,第二關鍵字順序相對正確。舉例子就是21和12排序,因為你的程式不知道什...

字尾陣列(SA)學習記錄

乙隻只會字尾自動機卻不會字尾陣列的弱雞做了一下hdu 1403,結果sam被卡記憶體了,然後學習了一下sa。以下兩道題都是求lcs,區別在於字串長度。hdu 1403 1 include 2 include 3 include 4 include 5 define rank rank 6using ...

演算法學習 字尾陣列(SA)

參考部落格 定義 字尾 從第i位到字串結尾的子串 解決問題 從而解決 在字串中找子串 比較子串關係 查詢不同子串的數目 一般來說都是解決 字串和子串關係的問題 演算法學習 字尾陣列能夠在 nlogn的時間複雜度內求取出以下陣列 注意 明白字串包含字元的範圍 sa 儲存,第 i 個數字表示的是字典序第...