字尾數組
加倍成環,然後做字尾數組,隻取\(sa[i]\leq n\)的部分
将\(s[sa[i]-1]\)拼起來
枚舉左右端點,哪個小放哪個
如果出現相同的情況就要判斷字尾和字首的字典序了
假設\(s=aabcaa\)
在\(s\)後添加一個間隔符,再翻轉加倍
\(s=aabcaa\#aacbaa\)
跑字尾數組,字元相同時比較字尾排名大小
二分和并查集都可以,這裡選并查集
将\(h[i]\)數組從大到小将\(i,i-1\)集合合并,直到出現集合大于等于\(k\)時,答案為\(h[i]\)