把字尾排序搞到了樹上。
乙個節點的字串的定義為 這個節點到根經過的所有字元組成的字串。請將這些字串按字典序排序。輸出排名為i的字串所在的節點。
特別地,如果兩個節點所代表的字串完全相同,它們的大小由它們的父親所代表的字串的大小決定,如果仍相同,則由它們編號的大小決定。
就是自己的字串是第一關鍵字 第二個關鍵字是父親 第三關鍵字是自己的編號 xht37說沒定義大小決定 預設由小到大(是我又孤陋寡聞了。
可以發現定義成這個樣子 我們沒法上廣義sam 最壞複雜度可能要被卡到\(n^2\).
考慮一下我們字尾排序。我又忘了字尾陣列是啥了(做了那麼多題了說忘就忘。。
md 我不會 感覺實現這個有點複雜 我多思考清楚再來填坑吧。
上兩道模板題:
link:luogu p5353 【xr-1】樹上字尾排序
這個是一道樹上字尾排序的模板 但是我不會。
link:luogu p5346 【xr-1】柯南家族
求第k大不難想到 主席樹,我們沒必要樹剖 一種是鏈的第k大 我們直接dfs序搞。一種是子樹內的 發現也可以dfs序搞不過要兩棵主席樹 當然後者還可以主席樹合併搞。
前提是求出樹上的sa陣列才行,但是我不會。。
Codevs 1500 字尾排序 字尾陣列
1500 字尾排序 時間限制 1 s 空間限制 128000 kb 題目等級 大師 master 題目描述 description 天凱是mit的新生。prof.handsomeg給了他乙個長度為n的由小寫字母構成的字串,要求他把該字串的n個字尾 suffix 從小到大排序。何謂字尾?假設字串是s ...
Uoj 35 字尾排序 字尾陣列
統計 描述 提交 自定義測試 這是一道模板題。讀入乙個長度為 nn 的由小寫英文本母組成的字串,請把這個字串的所有非空字尾按字典序從小到大排序,然後按順序輸出字尾的第乙個字元在原串中的位置。位置編號為 11 到 nn。除此之外為了進一步證明你確實有給字尾排序的超能力,請另外輸出 n 1n 1 個整數...
字尾陣列 Luogu P3809 字尾排序
讀入乙個長度為 nn 的由大小寫英文本母或數字組成的字串,請把這個字串的所有非空字尾按字典序從小到大排序,然後按順序輸出字尾的第乙個字元在原串中的位置。位置編號為 11 到 nn。1 include 2 include 3 include 4 define n 1000010 5using name...