| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2026 - Seats 3 | 100 (p) | 2.0s | 1G |
| 2 | JOI 2026 - Jeweler | 100 (p) | 2.0s | 1G |
| 3 | JOI 2026 - Clothes | 100 (p) | 2.0s | 1G |
| 4 | JOI 2026 - River Rafting | 100 (p) | 2.0s | 1G |
| 5 | JOI 2026 - New Bridge | 100 (p) | 2.0s | 1G |
| 6 | JOI 2026 - Strange Machine | 100 (p) | 2.0s | 1G |
Có \(N\) nhóm khách, mỗi nhóm gồm hai người và phải ngồi ở hai ghế kề nhau, cùng hai khách VIP đi một mình. Có \(2N+2\) ghế trên một hàng, được đánh số từ \(1\) đến \(2N+2\) theo thứ tự từ trái sang phải; độ thoải mái ghế \(i\) là \(A_i\). Mỗi khách được xếp vào đúng một ghế và mỗi ghế có đúng một khách, không có hai khách ngồi chung ghế. Hãy xếp tất cả khách để tổng độ thoải mái của hai ghế dành cho VIP là lớn nhất.
Dòng đầu chứa \(N\). Dòng thứ hai chứa \(A_1,\ldots,A_{2N+2}\).
In tổng độ thoải mái lớn nhất của hai ghế VIP.
Ví dụ 1
2
20 60 40 30 10 50
90
Có thể xếp nhóm thứ nhất vào các ghế \(1,2\) tính từ trái sang, nhóm thứ hai vào các ghế \(4,5\), và hai khách VIP vào các ghế \(3,6\). Tổng độ thoải mái của hai ghế VIP là \(40+50=90\). Không thể đạt tổng lớn hơn \(90\), nên in \(90\).
Ví dụ này thỏa mãn các nhóm \(2\), \(3\), \(4\), \(5\).
Ví dụ 2
1
1000000000 1000000000 1 1
2000000000
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(3\), \(4\), \(5\).
Ví dụ 3
4
4 10 8 6 7 6 7 8 12 3
16
Ví dụ này thỏa mãn các nhóm \(4\), \(5\).
JOI 2025/2026 Semifinal Stage, bài Seats 3. Tài liệu gốc của Japanese Committee for IOI được phát hành theo CC BY-SA 4.0.
JOI-kun sở hữu một cửa hàng đá quý. Có \(N\) khách muốn mua đá quý tại cửa hàng. Khách \(i\) có thể đến cửa hàng vào bất kỳ thời điểm nào từ \(L_i\) đến \(R_i\), kể cả hai đầu mút, và muốn mua \(C_i\) viên đá quý. Cửa hàng luôn có đủ hàng.
Vì bận rộn nên JOI-kun không thể mở cửa hàng liên tục. Cậu cân nhắc \(M\) phương án mở cửa. Trong phương án \(j\), cửa hàng mở liên tục từ thời điểm \(S_j-0.1\) đến \(T_j+0.1\). Khách \(i\) sẽ đến và mua \(C_i\) viên nếu tồn tại ít nhất một thời điểm thuộc cả \([L_i,R_i]\) và khoảng mở cửa; nếu không thì khách không mua. Hãy tính tổng số đá quý bán được cho từng phương án.
Dòng đầu chứa \(N\). \(N\) dòng tiếp theo, dòng \(i\) chứa \(L_i,R_i,C_i\). Dòng kế tiếp chứa \(M\). \(M\) dòng cuối, dòng \(j\) chứa \(S_j,T_j\).
In \(M\) dòng; dòng \(j\) là số đá quý bán được trong phương án \(j\).
Ví dụ 1
3
3 4 10
5 8 20
6 10 30
3
4 6
1 2
6 8
60
0
50
Phương án \(1\) mở cửa từ thời điểm \(3.9\) đến \(6.1\). Khách \(1,2,3\) lần lượt có thể mua ở các thời điểm \(4,5,6\), nên bán được \(10+20+30=60\) viên đá quý.
Phương án \(2\) mở cửa từ \(0.9\) đến \(2.1\). Không khách nào có thể đến trong thời gian này, nên bán được \(0\) viên.
Phương án \(3\) mở cửa từ \(5.9\) đến \(8.1\). Khách \(2,3\) đều có thể mua lúc \(7\), nên bán được \(20+30=50\) viên.
Ví dụ này thỏa mãn các nhóm \(1\), \(5\).
Ví dụ 2
4
10 90 1
40 60 2
10 20 4
80 90 8
3
1 15
1 60
1 100
5
7
15
Trong phương án \(1\), khách \(1,3\) có thể mua, tổng cộng \(1+4=5\) viên. Trong phương án \(2\), khách \(1,2,3\) có thể mua, tổng cộng \(1+2+4=7\) viên. Trong phương án \(3\), tất cả khách đều có thể mua, tổng cộng \(1+2+4+8=15\) viên.
Ví dụ này thỏa mãn các nhóm \(1\), \(3\), \(4\), \(5\).
Ví dụ 3
10
55 882 861052753
104 734 331227764
492 694 240198464
481 506 377367203
131 185 327968773
124 129 970226535
92 125 133053911
356 442 758055457
21 759 730522637
259 481 948997757
9
50 287
510 735
158 431
113 768
328 894
783 881
163 692
42 862
43 752
4303050130
2163001618
3957825141
5678671254
4247422035
861052753
4575390808
5678671254
5678671254
Ví dụ này thỏa mãn các nhóm \(1\), \(5\).
JOI 2025/2026 Semifinal Stage, bài Jeweler. Tài liệu gốc của Japanese Committee for IOI được phát hành theo CC BY-SA 4.0.
Cửa hàng có \(100\) loại quần áo, đánh số từ \(1\) đến \(100\), với số lượng không giới hạn. Bitaro có thể mua từ \(0\) chiếc trở lên, kể cả nhiều chiếc cùng loại. Khi nhiệt độ là \(t\) và Bitaro mặc các loại \(s_1,s_2,\ldots,s_k\), nhiệt độ cảm nhận là \(t+s_1+s_2+\cdots+s_k\); cậu có thể mặc \(0\) chiếc hoặc bất kỳ tập con nào của chính các chiếc đã mua, và mỗi chiếc mua chỉ được mặc nhiều nhất một lần trong một ngày. Những chiếc quần áo đã mua có thể được dùng lại trong các ngày khác nhau.
Biết nhiệt độ của \(N\) ngày lần lượt là \(A_1<A_2<\cdots<A_N\), hãy xác định có thể mua quần áo để mỗi ngày đều chọn được cách mặc cho nhiệt độ cảm nhận đúng \(23\) hay không. Nếu có, hãy tìm số chiếc phải mua nhỏ nhất và in một phương án tối ưu.
Dòng đầu chứa \(N\). Dòng thứ hai chứa \(A_1,\ldots,A_N\).
Nếu không thể, in No trên một dòng. Nếu có thể, in đúng ba dòng:
Yes.Nếu \(k=0\), dòng thứ ba là một dòng trống. Các loại có thể được in theo thứ tự bất kỳ; nếu có nhiều phương án tối ưu, in bất kỳ phương án nào.
Ví dụ 1
3
17 20 23
Yes
2
3 3
Bitaro mua hai chiếc áo loại \(3\). Ngày thứ nhất mặc cả hai chiếc, ngày thứ hai mặc một chiếc, ngày thứ ba không mặc chiếc nào. Nhiệt độ cảm nhận trong cả ba ngày đều bằng \(23\). Không thể đạt yêu cầu nếu chỉ mua nhiều nhất một chiếc áo.
Ví dụ này thỏa mãn các nhóm \(2\), \(4\), \(5\), \(6\), \(7\).
Ví dụ 2
1
24
No
Vào ngày có nhiệt độ \(24\), không thể làm nhiệt độ cảm nhận bằng \(23\). Vì vậy, bất kể mua quần áo như thế nào cũng không thể đáp ứng yêu cầu trong ngày này.
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(4\), \(5\), \(6\), \(7\).
Ví dụ 3
5
-1 3 6 10 16
Yes
3
4 7 13
Ví dụ này thỏa mãn các nhóm \(6\), \(7\).
Ví dụ 4
3
21 22 23
Yes
2
1 1
Ví dụ này thỏa mãn các nhóm \(2\), \(3\), \(4\), \(5\), \(6\), \(7\).
JOI 2025/2026 Semifinal Stage, bài Clothes. Tài liệu gốc của Japanese Committee for IOI được phát hành theo CC BY-SA 4.0.
JOI có một cây gốc tại thành phố \(1\); có \(N\) thành phố và \(N-1\) con đường hai chiều. Đường thứ \(i\) nối \(P_i\) với \(i+1\) và dòng sông tương ứng chảy từ \(P_i\) đến \(i+1\). Mỗi thành phố có đúng một chiếc đèn. Ban đầu sức mạnh mọi đèn bằng \(0\) và không thành phố nào được chiếu sáng.
Có thể thực hiện từ \(0\) chuyến đi bè trở lên. Mỗi chuyến bắt đầu ở thành phố \(1\), đi theo một đường có hướng xuống cây và kết thúc tại một thành phố tùy chọn; sức mạnh đèn tại mỗi thành phố trên đường đi, kể cả hai đầu, tăng đúng \(1\). Có thể kết thúc chuyến đi ngay tại thành phố \(1\) mà không đi qua sông nào; đèn tại thành phố \(1\) vẫn tăng sức mạnh thêm \(1\). Nếu kết thúc tại thành phố \(t\), chuyến đi tốn \(C_t\).
Đèn sức mạnh \(l\) tại một thành phố chiếu sáng mọi thành phố có thể đến từ nó qua ít hơn \(l\) con đường hai chiều, không phụ thuộc chiều chảy của sông. Hãy tìm tổng chi phí nhỏ nhất để mọi thành phố được ít nhất một đèn chiếu sáng.
Dòng đầu chứa \(N\). Dòng thứ hai chứa \(P_1,\ldots,P_{N-1}\). Dòng thứ ba chứa \(C_1,\ldots,C_N\).
In tổng chi phí nhỏ nhất.
Ví dụ 1
5
1 2 2 4
10 4 8 9 5
9
Chuyến thứ nhất đi qua sông \(1\) và kết thúc ở thành phố \(2\), tăng sức mạnh đèn tại các thành phố \(1,2\) thêm \(1\), với chi phí \(4\). Chuyến thứ hai đi qua các sông \(1,3,4\) và kết thúc ở thành phố \(5\), tăng sức mạnh đèn tại các thành phố \(1,2,4,5\) thêm \(1\), với chi phí \(5\).
Sau đó, sức mạnh đèn tại các thành phố \(1,2\) bằng \(2\), tại thành phố \(3\) bằng \(0\), tại các thành phố \(4,5\) bằng \(1\). Đèn sức mạnh \(2\) ở thành phố \(2\) chiếu sáng các thành phố \(1,2,3,4\); đèn sức mạnh \(1\) ở thành phố \(5\) chiếu sáng thành phố \(5\). Tất cả thành phố đều được chiếu sáng với tổng chi phí \(4+5=9\). Không thể đạt yêu cầu với chi phí nhỏ hơn \(9\), nên in \(9\).
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(5\), \(6\).
Ví dụ 2
9
1 1 1 2 5 5 5 3
100 70 80 90 60 30 40 50 30
90
Thực hiện hai chuyến đi qua các sông \(1,4,5\) và kết thúc ở thành phố \(6\), cùng một chuyến đi qua các sông \(2,8\) và kết thúc ở thành phố \(9\). Sau đó, sức mạnh đèn ở thành phố \(1\) bằng \(3\); ở các thành phố \(2,5,6\) bằng \(2\); ở các thành phố \(3,9\) bằng \(1\); ở các thành phố \(4,7,8\) bằng \(0\). Tất cả thành phố đều được chiếu sáng. Tổng chi phí là \(30\times2+30=90\). Không thể đạt yêu cầu với chi phí nhỏ hơn \(90\), nên in \(90\).
Ví dụ này thỏa mãn các nhóm \(2\), \(6\).
JOI 2025/2026 Semifinal Stage, bài River Rafting. Tài liệu gốc của Japanese Committee for IOI được phát hành theo CC BY-SA 4.0.
Quốc gia JOI gồm \(N\) hòn đảo, được đánh số từ \(1\) đến \(N\). Ban đầu không có cây cầu nào nối các đảo, khiến cuộc sống của người dân gặp nhiều bất tiện. Bạn là bộ trưởng của quốc gia JOI và quyết định thực hiện một dự án công để xây cầu. Có \(M\) kế hoạch xây cầu hai chiều. Kế hoạch \(j\) nối \(A_j\) với \(B_j\) với chi phí \(C_j\); mọi chi phí đôi một khác nhau, và nếu thực hiện tất cả kế hoạch thì đồ thị liên thông.
Vì ngân sách quốc gia có hạn, bạn quyết định thực hiện dự án như sau: chọn một đảo \(s\) làm thủ đô, rồi thực hiện đúng \(N-1\) lần: trong các kế hoạch chưa thực hiện có đúng một đầu cầu đã đi được từ thủ đô và đầu kia chưa đi được, chọn kế hoạch rẻ nhất và xây cầu đó. Các điều kiện trên bảo đảm mỗi bước luôn có lựa chọn duy nhất và cuối cùng mọi đảo liên thông.
Rin đang cân nhắc chuyển đến sống tại quốc gia JOI. Để lựa chọn nơi ở, cô tính độ bất tiện của mỗi hòn đảo như sau. Gọi \(D_{s,i}\) là số cầu đã xây cho đến thời điểm đảo \(i\) lần đầu đi được từ thủ đô \(s\); đặt \(D_{i,i}=0\). Độ bất tiện của đảo \(i\) là \(\sum_{s=1}^{N}D_{s,i}\). Hãy trả lời độ bất tiện của \(Q\) đảo \(X_1,\ldots,X_Q\) mà Rin đang cân nhắc chuyển đến.
Dòng đầu chứa \(N,M,Q\). \(M\) dòng tiếp theo, dòng \(j\) chứa \(A_j,B_j,C_j\). \(Q\) dòng cuối lần lượt chứa \(X_1,X_2,\ldots,X_Q\), mỗi giá trị trên một dòng.
In \(Q\) dòng; dòng \(k\) là độ bất tiện của đảo \(X_k\).
Ví dụ 1
4 5 2
1 3 2
1 4 4
2 3 1
2 4 5
3 4 3
1
3
7
3
Nếu chọn đảo \(1\) làm thủ đô, các kế hoạch được thực hiện như sau:
Do đó, \(D_{1,1}=0\), \(D_{1,2}=2\), \(D_{1,3}=1\), \(D_{1,4}=3\).
Ta còn có \(D_{2,1}=2\), \(D_{3,1}=2\), \(D_{4,1}=3\), nên độ bất tiện của đảo \(1\) là \(0+2+2+3=7\). Tương tự, \(D_{2,3}=1\), \(D_{3,3}=0\), \(D_{4,3}=1\), nên độ bất tiện của đảo \(3\) là \(1+1+0+1=3\).
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(6\).
Ví dụ 2
5 4 5
1 2 3
2 3 1
3 4 4
4 5 2
1
2
3
4
5
12
8
7
10
13
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(4\), \(6\).
Ví dụ 3
10 20 1
1 2 808642746
1 3 990324141
1 4 69919024
1 5 794837863
3 6 84751636
1 7 491226767
3 8 314795065
1 9 347506932
1 10 709806198
2 3 103026123
9 10 270175384
4 8 133038160
4 10 592110162
2 10 708615085
6 10 262209760
5 10 75049025
7 9 367273075
6 9 264231132
3 10 909786421
2 7 135810916
10
43
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(5\), \(6\).
JOI 2025/2026 Semifinal Stage, bài New Bridge. Tài liệu gốc của Japanese Committee for IOI được phát hành theo CC BY-SA 4.0.
Bạn có \(N\) viên gạch được đánh số từ \(1\) đến \(N\). Mặt trên và mặt dưới của mỗi viên có màu đen (B) hoặc trắng (W); ký tự thứ \(i\) của chuỗi \(S\) và \(T\) lần lượt cho biết màu mặt trên và mặt dưới ban đầu của viên \(i\).
Uzbekistan nổi tiếng với những công trình kiến trúc lịch sử được trang trí bằng gạch. Khi tham quan các thánh đường Hồi giáo và trường học Hồi giáo (madrasa) ở Uzbekistan, bạn bị cuốn hút bởi vẻ đẹp của những công trình này và mua một cỗ máy kỳ lạ liên quan đến gạch. Cỗ máy có hai khay ở bên trái và bên phải, mỗi khay đặt được một viên gạch. Khi đặt viên gạch \(a\) ở khay trái và viên gạch \(b\) ở khay phải, máy đổi hai viên này lấy một viên mới \(c\) theo các quy tắc sau:
Trong \(Q\) ngày, ngày \(j\) thực hiện một trong hai hành động:
1: đổi màu mặt trên và mặt dưới của viên \(X_j\) lần lượt thành \(Y_j\) và \(Z_j\).2: xếp các viên \(L_j,L_j+1,\ldots,R_j\) theo thứ tự từ trái sang phải. Có thể thực hiện từ \(0\) đến \(R_j-L_j\) lần thao tác sau: chọn hai viên kề nhau, bỏ chúng khỏi hàng, đưa viên bên trái vào khay trái và viên bên phải vào khay phải, rồi đặt viên mới do máy tạo ra vào đúng vị trí của cặp vừa bỏ. Hãy xác định có thể thực hiện các thao tác để trong hàng có đúng \(M_j\) viên có mặt trên màu trắng (các viên khác trong hàng vẫn có thể có mặt trên màu đen) hay không.Mỗi truy vấn loại 2 chỉ là một thí nghiệm độc lập và không làm thay đổi các viên gạch; chỉ cập nhật loại 1 mới thay đổi trạng thái dùng cho các ngày sau.
Dữ liệu vào có dạng:
N
S
T
Q
(Query 1)
...
(Query Q)
Gọi \(P_j\) là số nguyên đầu tiên của truy vấn thứ \(j\). Mỗi truy vấn là một trong hai dạng:
1 X_j Y_j Z_j: cập nhật viên \(X_j\).2 L_j R_j M_j: thực hiện thí nghiệm trên đoạn \([L_j,R_j]\).Với mỗi truy vấn loại 2, theo thứ tự xuất hiện, in Yes nếu có thể tạo đúng số viên mặt trên trắng được yêu cầu, ngược lại in No.
B và W.Ví dụ 1
4
WBWB
BWBB
5
2 3 4 1
2 1 2 0
1 3 B B
2 3 4 2
2 2 4 1
Yes
Yes
No
Yes
Ngày \(1\): xếp các viên \(3,4\) theo thứ tự đó. Không thực hiện thao tác nào thì chỉ viên \(3\) có mặt trên màu trắng, nên có đúng một viên như yêu cầu và in Yes.
Ngày \(2\): xếp các viên \(1,2\) rồi gộp chúng. Viên thu được có cả hai mặt màu đen, nên số viên có mặt trên màu trắng bằng \(0\) và in Yes.
Ngày \(3\): đổi cả hai mặt của viên \(3\) thành màu đen.
Ngày \(4\): xếp các viên \(3,4\). Có thể chứng minh không thể tạo đúng hai viên có mặt trên màu trắng, nên in No.
Ngày \(5\): xếp các viên \(2,3,4\). Gộp hai viên \(3,4\) trước, thu được một viên có cả hai mặt màu đen ở bên phải viên \(2\). Tiếp tục gộp hai viên còn lại, thu được một viên có mặt trên màu trắng và mặt dưới màu đen. Có đúng một viên có mặt trên màu trắng, nên in Yes.
Ví dụ này thỏa mãn các nhóm \(1\), \(5\), \(6\), \(7\).
Ví dụ 2
6
BWBWWB
WBWBBB
8
2 1 3 2
2 2 6 0
2 1 5 3
2 3 3 0
2 3 4 1
2 5 6 2
2 2 6 4
2 1 4 2
No
Yes
Yes
Yes
Yes
No
No
Yes
Ví dụ này thỏa mãn các nhóm \(1\), \(2\), \(3\), \(4\), \(5\), \(6\), \(7\).
JOI 2025/2026 Semifinal Stage, bài Strange Machine. Tài liệu gốc của Japanese Committee for IOI được phát hành theo CC BY-SA 4.0.