Tối tiểu hóa xâu nhị phân
Đề bài
Mô tả
Cho một xâu nhị phân độ dài (chỉ gồm các ký tự '0' và '1').
Trong một bước, bạn được phép hoán đổi hai ký tự kề nhau của xâu. Hỏi xâu nhỏ nhất theo thứ tự từ điển mà bạn có thể thu được nếu thực hiện không quá bước? Bạn có thể không thực hiện bước nào nếu muốn.
Lưu ý rằng bạn có thể hoán đổi cùng một cặp ký tự kề nhau (ở vị trí và ) nhiều lần tùy ý, và mỗi lần hoán đổi được tính là một bước riêng biệt.
Bạn phải trả lời truy vấn độc lập nhau.
Dữ liệu vào
- Dòng đầu tiên chứa một số nguyên — số lượng truy vấn.
- Với mỗi truy vấn:
- Dòng đầu chứa hai số nguyên và — độ dài xâu và số bước tối đa được phép thực hiện.
- Dòng thứ hai chứa xâu nhị phân độ dài .
Dữ liệu ra
Với mỗi truy vấn, in ra trên một dòng xâu nhỏ nhất theo thứ tự từ điển thu được sau khi thực hiện không quá bước.
Ràng buộc
- Tổng trên tất cả các truy vấn không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 8 5 11011010 7 9 1111100 7 11 1111100 |
01011110 0101111 0011111 |
Truy vấn 1: một cách biến đổi là 11011010 → 10111010 → 01111010 → 01110110 → 01101110 → 01011110. Truy vấn 3: đủ số bước để sắp xếp xâu hoàn toàn tăng dần. |
| 1 2 1 00 |
00 | Xâu đã ở dạng nhỏ nhất, không cần biến đổi. |
Bình luận