| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2018 - Asceticism | 100 (p) | 0.6s | 256M |
| 2 | JOI 2018 - Road Service | 100 (p) | 1.0s | 256M |
| 3 | JOI 2018 - Worst Reporter 3 | 100 (p) | 2.0s | 256M |
Một ngày nọ, JOI-kun có được cỗ máy thời gian và quyết định đến Nhật Bản vào thế kỷ thứ IX. Cậu gặp Kukai, một trong những nhà sư nổi tiếng nhất Nhật Bản thời bấy giờ. Kukai muốn phát triển một phương pháp tu hành mới.
Việc tu hành diễn ra như sau:
Kukai muốn đọc hết bài kinh nhanh nhất có thể. Số ngày cần thiết phụ thuộc vào cách gán số cho các câu. Hãy đếm số cách gán số khiến Kukai cần đúng \(K\) ngày để đọc hết bài kinh khi lựa chọn cách đọc tối ưu. In kết quả lấy dư cho \(1\,000\,000\,007\).
Một dòng chứa hai số nguyên \(N,K\), lần lượt là số câu và số ngày cần thiết.
In số cách gán số thỏa mãn yêu cầu, lấy dư cho \(1\,000\,000\,007\).
Ví dụ 1
3 2
4
Có bốn cách gán số theo thứ tự các câu khiến việc đọc cần đúng hai ngày:
Ví dụ 2
10 5
1310354
Đây là bài chỉ nộp kết quả (output-only). Với mỗi dữ liệu vào được cung cấp, bạn cần nộp tệp kết quả, không phải chương trình sinh kết quả.
Vương quốc IOI có \(N\) thành phố được đánh số từ \(1\) đến \(N\) và \(N-1\) con đường hai chiều được đánh số từ \(1\) đến \(N-1\). Con đường thứ \(i\) nối hai thành phố \(A_i\) và \(B_i\). Có đường đi giữa mọi cặp thành phố.
Khoảng cách giữa hai thành phố là số con đường ít nhất cần đi qua để đi từ thành phố này đến thành phố kia. Tổng khoảng cách của vương quốc là tổng khoảng cách trên tất cả các cặp thành phố khác nhau, mỗi cặp không có thứ tự được tính một lần.
Nhà vua dự định xây thêm \(K\) con đường để giảm tổng khoảng cách, giúp việc đi lại thuận tiện hơn. Là phụ tá của nhà vua, bạn hãy tìm một phương án xây đúng \(K\) con đường. Tổng khoảng cách sau khi xây càng nhỏ thì điểm số càng cao.
Bài có sáu dữ liệu vào. Mỗi dữ liệu có dạng:
Với mỗi dữ liệu vào, nộp một tệp kết quả gồm đúng \(K\) dòng. Dòng thứ \(j\) chứa hai số nguyên \(X_j,Y_j\), với \(1 \le X_j,Y_j \le N\), biểu thị hai thành phố được nối bởi con đường xây thêm thứ \(j\).
Kết quả chỉ hợp lệ nếu tuân theo định dạng trên. Có thể xây thêm đường nối một cặp thành phố vốn đã có đường nối, như trong ví dụ 2.
Với mỗi dữ liệu vào, kết quả sai định dạng nhận \(0\) điểm. Nếu kết quả hợp lệ, gọi \(W\) là tổng khoảng cách sau khi xây thêm các con đường theo phương án của bạn, và \(P\) là số điểm tối đa của dữ liệu đó. Đặt
Điểm cho dữ liệu này là
Điểm của bài là tổng điểm của sáu dữ liệu, sau đó làm tròn đến số nguyên gần nhất.
Các tham số của sáu dữ liệu vào như sau:
| Dữ liệu | \(N\) | \(K\) | \(W_0\) | \(P\) |
|---|---|---|---|---|
| 1 | 20 | 4 | 512 | 10 |
| 2 | 1 000 | 100 | 2 650 000 | 18 |
| 3 | 1 000 | 300 | 1 755 000 | 18 |
| 4 | 1 000 | 100 | 2 900 000 | 18 |
| 5 | 1 000 | 100 | 2 690 000 | 18 |
| 6 | 1 000 | 300 | 1 745 000 | 18 |
Ví dụ 1
4 1 8
1 2
2 3
3 4
1 4
Xây thêm đường nối thành phố \(1\) với thành phố \(4\) làm tổng khoảng cách trở thành \(8\). Nếu dữ liệu này có \(P=10\) thì \(S=0\), do đó nhận được \(10\) điểm.
Ví dụ 2
4 1 8
1 2
2 3
3 4
1 2
Sau khi xây thêm đường, tổng khoảng cách vẫn là \(10\). Nếu \(P=10\) thì \(S=-0.25\), nên điểm cho dữ liệu này là \(4.728\ldots\).
Trong lễ khai mạc IOI 2018, \(N\) thí sinh diễu hành thành một hàng dọc trên một trục số. Tất cả đều hướng về chiều dương. Tại thời điểm \(0\), thí sinh thứ \(i\) tính từ đầu hàng đứng ở tọa độ \(-i\). IOI-chan, người cầm cờ, đứng ở tọa độ \(0\).
Thí sinh thứ \(i\) có một giá trị gọi là độ chậm \(D_i\). Các thí sinh tuân theo quy tắc:
IOI-chan di chuyển theo chiều dương với tốc độ \(1\) đơn vị khoảng cách trên mỗi đơn vị thời gian. Mỗi thí sinh di chuyển tức thời ngay khi điều kiện trên được thỏa mãn.
Bạn là phóng viên đưa tin về lễ khai mạc. Lẽ ra phải chụp ảnh, nhưng bạn lại ngủ suốt buổi lễ. Bạn đành chụp ảnh hội trường rồi vẽ thêm hình mọi người lên ảnh. Để không bị phát hiện, đồng thời ước lượng thời gian cần vẽ, bạn muốn trả lời \(Q\) câu hỏi: tại thời điểm \(T_j\), có bao nhiêu người đứng ở tọa độ thuộc đoạn \([L_j,R_j]\), kể cả hai đầu mút? Số người này bao gồm cả IOI-chan.
In \(Q\) dòng. Dòng thứ \(j\) chứa đáp án của câu hỏi thứ \(j\).
Ví dụ 1
3 6
2
5
3
1 2 4
2 2 4
3 2 4
4 2 4
5 2 4
6 2 4
0
1
1
2
1
2
Diễn biến của IOI-chan và các thí sinh như sau:
Ví dụ 2
4 2
1
1
1
1
2 1 4
1 3 6
2
0
Ví dụ này thỏa mãn các ràng buộc của nhóm 1.
Ví dụ 3
6 6
11
36
28
80
98
66
36 29 33
190 171 210
18 20 100
1000 900 1100
92 87 99
200 100 300
1
6
0
5
2
7