Bộ lọc Posterize
Đề bài
Mô tả
Cho một ảnh đen trắng gồm điểm ảnh, điểm ảnh thứ có màu là một số nguyên trong đoạn .
Bạn cần chia dải màu thành các nhóm gồm những màu liên tiếp. Mỗi nhóm phải thoả:
- Các màu trong nhóm tạo thành một đoạn liên tiếp (tức gồm tất cả các màu ).
- Kích thước nhóm không vượt quá , nghĩa là .
- Mỗi màu trong thuộc về đúng một nhóm.
Với mỗi nhóm, ta chọn một màu bất kỳ trong nhóm làm khoá của nhóm đó. Sau đó, màu của mỗi điểm ảnh được thay bằng khoá của nhóm chứa nó, thu được một mảng số.
Hãy chia nhóm và chọn khoá sao cho mảng kết quả là nhỏ nhất theo thứ tự từ điển.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số điểm ảnh và kích thước tối đa của một nhóm.
- Dòng thứ hai chứa số nguyên : màu của các điểm ảnh.
Dữ liệu ra
In ra số nguyên cách nhau bởi dấu cách: mảng nhỏ nhất theo thứ tự từ điển sau khi áp dụng bộ lọc.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 2 14 3 4 |
0 12 3 3 | Màu 2 thuộc nhóm khoá 0. Màu 14 thuộc nhóm khoá 12. Vì nhóm đã chiếm các màu 0, 1, 2 nên màu 3 không thể ghép về khoá nhỏ hơn 3, nó tạo nhóm khoá 3 (dùng chung cho cả màu 4). |
| 5 2 0 2 1 255 254 |
0 1 1 254 254 | Điểm đầu là màu 0 nên chỉ cần nhóm khoá 0 (không cần lấn sang màu 1). Nhờ đó màu 2 ghép được nhóm khoá 1, và màu 1 dùng chung nhóm này. Màu 255 và 254 tạo nhóm khoá 254. |
Bình luận