DHBB 2023 - CLC - 10 - VinFast
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
VinFast là một Công ty khởi nghiệp trong lĩnh vực ô tô với sự hậu thuẫn của Vingroup, chính vì lẽ đó đó VinFast được thỏa sức thiết kế xe theo phương thức đầy mới lạ và táo bạo. Ngay từ lúc khởi đầu, mục tiêu của VinFast là tạo ra những chiếc xe đẳng cấp thế giới, mang bản sắc Việt Nam.
Hùng là nhân viên bán hàng của hãng xe VinFast, anh được giao bán ~N~ chiếc ô tô điện được sắp thành một hàng, mỗi xe có một màu thuộc trong ~K~ màu đánh số từ ~1~ đến ~K~. Để tiện phân loại, Hùng muốn sắp xếp lại các xe này sao cho các xe cùng màu thì nằm cạnh nhau, như vậy Hùng sẽ thu được các đoạn liên tiếp gồm những chiếc xe cùng màu, mỗi màu chỉ thuộc vào đúng một đoạn. Mỗi bước, Hùng chỉ được đổi chỗ hai chiếc xe đứng cạnh nhau.
Yêu cầu: Hãy giúp Hùng sắp xếp lại các xe ô tô sao cho số bước đổi chỗ thực hiện là nhỏ nhất.
Input
Gồm nhiều tests, mỗi test được mô tả bằng hai dòng:
Dòng 1: Ghi hai số nguyên dương ~N, K~ ~(2 \le N \le 10^6; 1 \le K \le 20)~
Dòng 2: Ghi ~N~ số nguyên dương là màu của ~N~ chiếc xe ô tô theo thứ tự ~1, 2, \dots, N~.
Kết thúc dữ liệu bằng một dòng ghi hai số ~0\ 0~.
Output
Với mỗi test ghi trên một dòng số nguyên - số lần đổi chỗ ít nhất tìm được.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~10\%~ | ~K = 2, N \le 20000~ |
| 2 | ~20\%~ | ~K = 3, N \le 10^6~ |
| 3 | ~20\%~ | ~K \le 5, N \le 20000~ |
| 4 | ~30\%~ | ~K \le 10, N \le 10^6~ |
| 5 | ~20\%~ | ~K \le 20, N \le 10^6~ |
Sample Input 1
8 3
1 1 2 1 2 3 2 3
5 3
3 2 1 3 2
0 0
Sample Output 1
2
3
Notes
Trong trường hợp thứ nhất cần sắp xếp lại thành ~1\ 1\ 1\ 2\ 2\ 2\ 3\ 3~ với ~2~ phép đổi chỗ (lần lượt: vị trí ~3~ đổi chỗ cho vị trí ~4~, vị trí ~6~ đổi chỗ cho vị trí ~7~).
Trong trường hợp thứ hai cần sắp xếp lại thành ~3\ 3\ 2\ 2\ 1~ với ~3~ phép đổi chỗ (lần lượt: vị trí ~3~ đổi chỗ cho vị trí ~4~; vị trí ~4~ đổi chỗ cho vị trí ~5~; vị trí ~2~ đổi chỗ cho vị trí ~3~).
Bình luận