Tutorial — Thu Gọn Chuỗi

Về đề bài

Gợi ý

1 Hint 1
Thao tác tráo đổi hai ký tự kề nhau cho phép di chuyển các ký tự đến vị trí bất kỳ, trong khi thao tác gộp hai ký tự `1` kề nhau làm giảm số lượng ký tự `1`.
2 Hint 2
Số lượng ký tự `0` trong chuỗi là đại lượng bất biến qua mọi thao tác. Nếu chuỗi ban đầu chứa ít nhất một ký tự `1`, ta luôn giữ lại đúng một ký tự `1` sau khi gộp toàn bộ các ký tự `1`.
3 Hint 3
Sử dụng thuật toán đếm ký tự `std::count` để đếm số lượng $k$ ký tự `0` trong chuỗi $s$. Nếu $s$ khác chuỗi `0`, kết quả tối ưu là chuỗi gồm một ký tự `1` đứng đầu nối với $k$ ký tự `0` phía sau.

Lời giải

Xem lời giải chi tiết (spoiler!)
Đang tải…