| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | KOI 2026 - Distancing | 100 (p) | 1.0s | 1G |
| 2 | KOI 2026 - Dice Tower Stacking | 100 (p) | 2.0s | 1G |
| 3 | KOI 2026 - Snack Distribution | 100 (p) | 3.0s | 1G |
| 4 | KOI 2026 - Game | 100 (p) | 5.0s | 1G |
Có \(N\) học sinh đứng trên một trục số. Học sinh được đánh số từ \(1\) đến \(N\) và phải đứng theo thứ tự từ trái sang phải; mọi vị trí đều là số nguyên.
Gọi \(B_i\) là vị trí của học sinh \(i\). Với mỗi \(i\), học sinh \(i\) không được đứng bên phải \(A_i\), tức là \(B_i \le A_i\). Hai học sinh liên tiếp phải cách nhau ít nhất \(K\), tức là \(B_{i+1} - B_i \ge K\). Khi \(K = 0\), nhiều học sinh có thể đứng cùng một vị trí.
Mọi \(B_i\) phải là số nguyên nhưng không có cận dưới; vị trí âm vẫn được phép.
Hãy tìm một dãy \([B_1, B_2, \ldots, B_N]\) thỏa các điều kiện trên và làm lớn nhất có thể giá trị \(B_1\). Nếu có nhiều dãy tối ưu, in ra bất kỳ dãy nào. Có thể chứng minh luôn tồn tại ít nhất một dãy hợp lệ.
In ra \(N\) số nguyên \(B_1, B_2, \ldots, B_N\). Dãy phải hợp lệ và \(B_1\) phải lớn nhất có thể.
Ví dụ 1
5 2
1 4 10 9 13
1 4 6 9 12
Ví dụ 2
4 0
5 2 7 3
2 2 3 3
Ví dụ 3
4 3
2 1 5 9
-2 1 5 8
KOI 2026 Round 2, problem Distancing. Tài liệu, dữ liệu chấm và mã nguồn mẫu từ Korean Olympiad in Informatics, phát hành theo CC BY-NC-SA 4.0.
Có \(N\) viên xúc xắc lập phương. Mỗi mặt mang một số từ \(1\) đến \(6\), các mặt khác nhau mang các số khác nhau, và tổng số trên hai mặt đối diện luôn bằng \(7\).
Sau khi gieo các xúc xắc, số ở mặt trên của viên \(i\) là \(A_i\). Chọn một hoặc nhiều viên còn trên bàn để tạo một tháp; có thể thay đổi thứ tự các viên nhưng không được xoay chúng. Hai mặt tiếp xúc trong tháp phải mang cùng một số. Lặp lại cho đến khi dùng hết các viên xúc xắc.
Hãy tìm số tháp ít nhất có thể tạo được.
In ra số tháp nhỏ nhất.
Ví dụ 1
4
3 3 5 4
2
Ví dụ 2
2
3 4
1
Ví dụ 3
5
1 1 6 1 1
3
KOI 2026 Round 2, problem Dice Tower Stacking. Tài liệu, dữ liệu chấm và mã nguồn mẫu từ Korean Olympiad in Informatics, phát hành theo CC BY-NC-SA 4.0.
Có \(N\) học sinh và \(N\) loại đồ ăn nhẹ, đều được đánh số từ \(1\) đến \(N\). Học sinh \(i\) thích \(C_i\) loại có chỉ số \(A_{i,1},\ldots,A_{i,C_i}\). Ban đầu mỗi loại đồ ăn có đúng một chiếc.
Đưa các học sinh vào phòng theo một thứ tự. Khi vào, một học sinh lấy tất cả đồ ăn mà mình thích và còn lại trong phòng. Hãy quyết định liệu có thể chọn thứ tự sao cho mọi học sinh lấy đúng một đồ ăn hay không. Nếu có, hãy in một thứ tự như vậy.
In -1 nếu không thể. Ngược lại in một hoán vị \(P_1,\ldots,P_N\) sao cho khi học sinh vào theo thứ tự đó, mỗi người lấy đúng một đồ ăn.
Ví dụ 1
3
2 1 2
2 2 3
1 2
3 1 2
Theo thứ tự này, học sinh \(3\) lấy đồ ăn \(2\), học sinh \(1\) lấy đồ ăn \(1\), rồi học sinh \(2\) lấy đồ ăn \(3\); vì vậy mỗi người lấy đúng một món.
Ví dụ 2
2
2 1 2
2 1 2
-1
Ví dụ 3
4
1 3
1 2
3 4 2 3
2 1 2
1 2 3 4
KOI 2026 Round 2, problem Snack Distribution. Tài liệu, dữ liệu chấm và mã nguồn mẫu từ Korean Olympiad in Informatics, phát hành theo CC BY-NC-SA 4.0.
Alice và Bob chơi trong một mê cung gồm \(N\) phòng đánh số từ \(1\) đến \(N\). Phòng \(i\) có lối ra khi \(A_i=1\) và không có lối ra khi \(A_i=0\).
Mê cung có đúng \(M\) cặp phòng được nối. Với mỗi \(i\), có \(c_i\) hành lang khác nhau cùng nối hai phòng \(a_i\) và \(b_i\); vì vậy giữa cùng một cặp phòng có thể có nhiều hành lang song song. Mê cung không nhất thiết liên thông.
Họ chơi \(Q\) ván độc lập. Trong ván \(j\), Alice đi vào phòng \(s_j\) và có thể lặp lại thao tác sau:
Alice thắng ngay khi đến một phòng có lối ra, kể cả khi phòng xuất phát \(s_j\) đã có lối ra; cô được phép thực hiện \(0\) lần di chuyển. Alice cố gắng bảo đảm chiến thắng còn Bob cố ngăn cô thắng. Nói cách khác, Alice thắng nếu có một chiến lược thích nghi với các lựa chọn trước đó để cuối cùng luôn đến được một phòng có lối ra, bất kể Bob chọn thế nào.
Với mỗi ván, hãy xác định Alice có thể bảo đảm chiến thắng hay không.
In \(Q\) dòng. Dòng \(j\) là YES nếu Alice có thể bảo đảm thắng ván \(j\), ngược lại là NO.
Ví dụ 1
5 5 5
0 0 1 0 0
1 2 1
1 3 1
1 4 2
2 3 2
3 4 1
2 1
1 2
3 3
4 4
5 1
YES
YES
YES
NO
NO
Ví dụ 2
4 3 4
1 0 0 0
1 2 2
2 3 3
3 4 1
1 3
2 2
3 3
4 1
YES
YES
NO
YES
Ví dụ 3
4 3 3
0 1 1 0
1 2 1
1 3 3
1 4 2
4 2
1 3
4 3
YES
YES
NO
Ví dụ 4
2 0 2
1 0
1 1
2 1
YES
NO
KOI 2026 Round 2, bài Game. Tài liệu, dữ liệu chấm và mã nguồn mẫu của Korean Olympiad in Informatics, phát hành theo giấy phép CC BY-NC-SA 4.0.