CSES 2108 - Substring Order I
1.0s 512M給你一個長度為 \(n\) 的字串。如果把它所有相異的子字串依字典順序排好,第 \(k\) 小的是哪一個?
輸入格式
第一行輸入有一個長度為 \(n\) 的字串,由 a–z 的字元組成。
第二行輸入有一個整數 \(k\)。
輸出格式
依字典順序輸出第 \(k\) 小的相異子字串。
範例輸入 1
babaacbaab
10
範例輸出 1
aba
說明:依序最小的 10 個相異子字串是 a、aa、aab、aac、aacb、aacba、aacbaa、aacbaab、ab 與 aba。
限制
- \(1 \le n \le 10^5\)
- \(1 \le k \le \frac{n(n+1)}{2}\)
- 保證 \(k\) 不超過相異子字串的數量
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入