| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2022 - Seesaw | 100 (p) | 2.0s | 1G |
| 2 | JOI 2022 - Giraffes | 100 (p) | 7.0s | 1G |
| 3 | JOI 2022 - School Road | 100 (p) | 2.0s | 1G |
Một thanh thẳng dài \(10^9\) được đặt theo chiều từ trái sang phải. Có thể bỏ qua khối lượng của thanh. Trên thanh gắn \(N\) quả cân, mỗi quả có khối lượng bằng \(1\), tại các vị trí đôi một khác nhau. Quả cân thứ \(i\) \((1 \le i \le N)\) ở vị trí \(A_i\), nghĩa là cách đầu trái của thanh một khoảng \(A_i\).
Ban đầu, bạn có một chiếc hộp rộng \(w\). Bạn đặt thanh lên hộp để hộp đỡ đoạn từ vị trí \(l\) đến vị trí \(r\), kể cả hai đầu, với \(0 \le l < r \le 10^9\) và \(r=l+w\). Sau đó, không được thay đổi \(l\) và \(r\).
Tiếp theo, mỗi lần bạn tháo quả cân ngoài cùng bên trái hoặc ngoài cùng bên phải còn gắn trên thanh. Bạn thực hiện thao tác này \(N-1\) lần. Trong toàn bộ quá trình, kể cả trạng thái ban đầu và trạng thái cuối cùng, trọng tâm của các quả cân còn trên thanh phải nằm trong đoạn \([l,r]\). Nếu còn \(m\) quả cân ở các vị trí \(b_1,b_2,\ldots,b_m\), vị trí trọng tâm là
Cho số quả cân \(N\) và các vị trí \(A_1,A_2,\ldots,A_N\), hãy tính chiều rộng nhỏ nhất có thể của hộp.
Đọc từ đầu vào chuẩn, tất cả các giá trị đều là số nguyên:
N
A_1 A_2 ... A_N
In một dòng chứa chiều rộng nhỏ nhất \(w\). Kết quả được chấp nhận nếu sai số tuyệt đối hoặc sai số tương đối không vượt quá \(10^{-9}\).
Kết quả phải có một trong hai dạng sau:
123, 0, -2022.0 đến 9, không có dấu phân cách hoặc khoảng trắng ở giữa. Không giới hạn số chữ số sau dấu chấm. Ví dụ 123.4, -123.00, 0.00288.Ví dụ 1
3
1 2 4
0.8333333333
Chọn \(w=\frac56\), \(l=\frac32\), \(r=\frac73\) và thực hiện như sau:
Trọng tâm luôn nằm trong đoạn \([l,r]\). Không thể chọn hộp hẹp hơn \(\frac56\), nên in biểu diễn thập phân của \(\frac56\). Ví dụ này thỏa mãn mọi nhóm.
Ví dụ 2
6
1 2 5 6 8 9
1.166666667
Ví dụ này thỏa mãn mọi nhóm.
JOI Open Contest 2022, JCIOI. Bản dịch tiếng Việt theo CC BY-SA 4.0.
Vườn thú IOI nổi tiếng với hươu cao cổ. Có \(N\) con hươu cao cổ, được đánh số từ \(1\) đến \(N\) theo thứ tự chiều cao tăng dần; chiều cao của chúng đôi một khác nhau. Có \(N\) chuồng xếp thành một hàng, đánh số từ \(1\) đến \(N\) từ trái sang phải. Mỗi chuồng có đúng một con hươu. Con hươu \(P_i\) sống trong chuồng \(i\).
Ông APIO, giám đốc vườn thú, lo lắng vì những đánh giá thấp với lý do "hươu cao cổ lên ảnh không đẹp". Cụ thể, khi chụp ảnh, khách chọn hai số nguyên \(l,r\) \((1 \le l \le r \le N)\) rồi chụp các con hươu trong các chuồng \(l,l+1,\ldots,r\). Bức ảnh không đẹp nếu đồng thời thỏa mãn hai điều kiện:
Ông APIO muốn sắp xếp lại các con hươu sao cho ảnh không bị xấu với bất kỳ cách chọn \(l,r\) nào. Vì chuyển hươu giữa các chuồng rất vất vả, ông muốn số con hươu phải chuyển là nhỏ nhất. Sau khi sắp xếp, mỗi chuồng vẫn phải có đúng một con hươu.
Cho vị trí hiện tại của các con hươu, hãy tính số con ít nhất phải chuyển. Vì cách sắp xếp hiện tại do ông APIO chọn ngẫu nhiên, có thể giả sử các giá trị \(P_i\) được sinh ngẫu nhiên như mô tả ở mục Cách sinh dữ liệu.
Đọc từ đầu vào chuẩn, tất cả các giá trị đều là số nguyên:
N
P_1 P_2 ... P_N
In một dòng chứa số con hươu ít nhất phải chuyển.
Không kể các ví dụ, có \(10\) bộ dữ liệu thỏa mãn cả bốn nhóm; \(10\) bộ chỉ thỏa mãn các nhóm \(2,3,4\); \(10\) bộ chỉ thỏa mãn các nhóm \(3,4\); và \(10\) bộ chỉ thỏa mãn nhóm \(4\). Tính cả ví dụ, có tổng cộng \(44\) bộ dữ liệu dùng để chấm. Cả \(44\) bộ đều được sinh như sau:
Ví dụ 1
6
5 4 6 1 3 2
2
Thứ tự từ trái sang phải là \(5,4,6,1,3,2\). Ảnh ứng với \(l=2,r=5\) không đẹp: con trong chuồng \(3\) cao hơn cả hai con trong chuồng \(2\) và \(5\), còn con trong chuồng \(4\) thấp hơn cả hai con đó.
Chuyển con hươu \(1\) từ chuồng \(4\) sang chuồng \(1\) và con hươu \(5\) từ chuồng \(1\) sang chuồng \(4\) thì mọi ảnh đều không bị xấu. Cần chuyển \(2\) con và đây là số nhỏ nhất. Ví dụ thỏa mãn mọi nhóm.
Ví dụ 2
4
4 1 3 2
0
Với thứ tự \(4,1,3,2\), mọi ảnh đều không bị xấu, nên không cần chuyển con nào. Ví dụ thỏa mãn mọi nhóm.
Ví dụ 3
7
3 1 6 7 4 2 5
2
Có thể sắp thành \(3,5,6,7,4,2,1\). Khi đó mọi ảnh đều không bị xấu. Cần chuyển \(2\) con và đây là số nhỏ nhất. Ví dụ thỏa mãn mọi nhóm.
Ví dụ 4
13
8 5 6 13 4 2 11 3 9 1 10 7 12
6
Ví dụ này thỏa mãn các nhóm \(2,3,4\).
JOI Open Contest 2022, JCIOI. Bản dịch tiếng Việt theo CC BY-SA 4.0.
Đất nước Hải Ly có \(N\) thành phố, đánh số từ \(1\) đến \(N\), và \(M\) con đường, đánh số từ \(1\) đến \(M\). Đường \(i\) nối hai chiều giữa thành phố \(A_i\) và \(B_i\), có độ dài \(C_i\). Có thể đi từ bất kỳ thành phố nào đến bất kỳ thành phố nào khác qua một số con đường.
Hải ly Bitaro sống ở thành phố \(1\) và học ở thành phố \(N\). Cậu thường đến trường theo một lộ trình cố định có độ dài \(L\), trong đó \(L\) là khoảng cách ngắn nhất từ thành phố \(1\) đến thành phố \(N\).
Hôm nay trời đẹp, Bitaro muốn đi đường vòng về nhà: từ thành phố \(N\) về thành phố \(1\) theo một lộ trình dài hơn \(L\). Vì dễ chán, cậu không muốn ghé cùng một thành phố nhiều lần. Do đó, trên đường về, cậu không được ghé một thành phố quá một lần và không được quay ngược lại giữa đường.
Cho thông tin về các thành phố và con đường, hãy xác định có tồn tại đường vòng từ trường về nhà thỏa mãn yêu cầu hay không.
Đọc từ đầu vào chuẩn, tất cả các giá trị đều là số nguyên:
N M
A_1 B_1 C_1
A_2 B_2 C_2
...
A_M B_M C_M
In 1 nếu tồn tại lộ trình từ trường về nhà dài hơn \(L\) mà không ghé thành phố nào quá một lần. Nếu không, in 0.
Ví dụ 1
4 4
1 2 1
1 3 2
2 4 4
3 4 3
0
Khoảng cách ngắn nhất từ nhà ở thành phố \(1\) đến trường ở thành phố \(4\) là \(5\). Có hai lộ trình về nhà không lặp thành phố:
Không có lộ trình dài hơn \(5\), nên in 0. Ví dụ thỏa mãn mọi nhóm.
Ví dụ 2
4 4
1 2 1
1 3 3
2 4 4
3 4 3
1
Khoảng cách ngắn nhất vẫn là \(5\). Hai lộ trình không lặp thành phố là:
Có lộ trình dài hơn \(5\), nên in 1. Ví dụ thỏa mãn mọi nhóm.
Ví dụ 3
3 4
1 2 1
1 2 2
1 3 3
1 3 3
0
Ví dụ này thỏa mãn các nhóm \(1,2,3,5\).
Ví dụ 4
4 5
1 2 1
1 3 2
2 4 4
3 4 3
2 3 1
1
Ví dụ này thỏa mãn mọi nhóm.
Ví dụ 5
12 17
2 4 656247308
4 6 106088453
1 5 754343261
9 12 497827261
3 8 759830309
3 4 61084725
1 6 324702188
3 6 415317430
7 12 846175092
5 8 278621369
1 10 891247646
10 12 755236904
6 8 511967203
5 6 597197970
1 7 800309458
7 9 348347831
10 11 134217757
0
Ví dụ này thỏa mãn các nhóm \(1,2,3,5\).
JOI Open Contest 2022, JCIOI. Bản dịch tiếng Việt theo CC BY-SA 4.0.