Cho xâu S độ dài n (chỉ số 0..n−1). Mảng hậu tố (suffix array) là hoán vị sa[0],…,sa[n−1] của các chỉ số sao cho các hậu tố S[sa[0]..],S[sa[1]..],… được sắp xếp tăng dần theo thứ tự từ điển.
Hãy dựng và in mảng hậu tố. Sử dụng phương pháp sắp xếp tiền tố nhân đôi (prefix doubling) đạt O(nlog2n) hoặc tốt hơn.
Ví dụ: S= banana. Các hậu tố sắp xếp cho mảng hậu tố 5 3 1 0 4 2.
Một dòng chứa xâu S gồm các chữ cái la-tinh thường.
1≤∣S∣≤2⋅105.
In n số là mảng hậu tố (chỉ số bắt đầu từ 0), cách nhau bởi dấu cách.
Ví dụ:
Đầu vào:
banana
Đầu ra:
5 3 1 0 4 2
Giải thích:
Đang tải editor...