| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2018 - Construction of Highway | 100 (p) | 1.0s | 256M |
| 2 | JOI 2018 - Fences | 100 (p) | 1.0s | 256M |
| 3 | JOI 2018 - Tents | 100 (p) | 2.0s | 512M |
Vương quốc JOI có \(N\) thành phố, được đánh số từ \(1\) đến \(N\). Thành phố \(1\) là thủ đô. Mỗi thành phố có một giá trị gọi là độ sầm uất; ban đầu, độ sầm uất của thành phố \(i\) là \(C_i\).
Mỗi con đường nối hai thành phố khác nhau và có thể đi theo cả hai chiều. Ban đầu chưa có con đường nào. Bạn dự định xây \(N-1\) con đường. Lần xây dựng thứ \(j\) được thực hiện như sau:
Hãy tính chi phí của từng lần xây dựng.
In \(N-1\) dòng. Dòng thứ \(j\) chứa chi phí của lần xây dựng thứ \(j\).
Ví dụ 1
5
1 2 3 4 5
1 2
2 3
2 4
3 5
0
0
0
2
Ví dụ 2
10
1 7 3 4 8 6 2 9 10 5
1 2
1 3
2 4
3 5
2 6
3 7
4 8
5 9
6 10
0
0
0
1
1
0
1
2
3
JOI 2018 Spring Training Camp, ngày 1 - Construction of Highway.
Ông JOI sở hữu một khu đất rộng ở đất nước IOI. Đất nước được biểu diễn bằng mặt phẳng tọa độ với hai trục \(X,Y\) vuông góc. Điểm có hoành độ \(x\) và tung độ \(y\) được ký hiệu là \((x,y)\). Khu đất của ông gồm các điểm có cả hoành độ lẫn tung độ nằm trong đoạn \([-10^{100},10^{100}]\). Trong khu đất, ông nuôi bò trên một đồng cỏ gồm các điểm có cả hoành độ lẫn tung độ nằm trong đoạn \([-S,S]\).
Ông muốn dùng hàng rào bao kín đồng cỏ để giữ bò. Mỗi hàng rào là một đoạn thẳng có độ dài là số thực dương. Việc bao kín phải bảo đảm không thể đi từ bất kỳ điểm nào bên trong đồng cỏ ra ngoài khu đất mà không đi qua một điểm thuộc hàng rào, kể cả đầu mút của hàng rào.
Trong khu đất đã có một số hàng rào mà ông có thể tận dụng. Nếu hai hàng rào có sẵn có điểm chung thì điểm đó là đầu mút của ít nhất một trong hai hàng rào.
Ông có thể xây thêm bao nhiêu hàng rào cũng được. Mỗi hàng rào mới có thể có độ dài và hướng tùy ý, nhưng không được đi qua phần bên trong đồng cỏ hoặc ra ngoài khu đất. Hàng rào có thể nằm dọc theo biên đồng cỏ. Xây hàng rào dài \(l>0\) tốn chi phí \(l\). Các hàng rào có thể cắt nhau; đầu mút của một hàng rào có thể trùng với đầu mút hoặc nằm trên một hàng rào khác.
Hãy tính tổng chi phí nhỏ nhất để bao kín đồng cỏ.
In tổng chi phí nhỏ nhất trên một dòng. Có thể in tùy ý số chữ số sau dấu thập phân, nhưng sai số tuyệt đối so với đáp án đúng phải không vượt quá \(0.01\).
Ví dụ 1
3 4
-3 5 1 8
-4 3 -4 6
5 1 7 2
29.0000000000
Hình bên trái biểu diễn các hàng rào có sẵn; hình vuông nét đứt ở giữa là biên đồng cỏ. Hình bên phải biểu diễn một cách bao kín đồng cỏ, trong đó các đoạn nét mảnh là hàng rào xây thêm.
Chi phí xây thêm là \(29\), cũng là chi phí nhỏ nhất. Ngoài kết quả 29.0000000000, các kết quả như 29 và 28.999 cũng được chấp nhận.
Ví dụ 2
1 2
-3 -3 -3 -2
16.0000000000
Có thể không sử dụng bất kỳ hàng rào có sẵn nào.
Ví dụ 3
4 3
4 -1 3 4
-4 2 -2 4
-4 0 -5 6
0 -6 5 -2
14.1392801789
Ví dụ 4
10 80
175 95 60 -146
-106 57 18 185
190 -68 177 -142
84 -195 127 -179
34 143 126 69
-92 133 -190 80
-157 -66 -119 -161
-85 -124 129 -171
141 181 175 175
107 -38 150 148
238.4778364511
JOI-kun quản lý một khu cắm trại được chia thành lưới chữ nhật gồm \(H\) hàng và \(W\) cột. Các hàng chạy theo hướng đông-tây, các cột chạy theo hướng bắc-nam. Ô ở hàng thứ \(i\) tính từ phía bắc và cột thứ \(j\) tính từ phía tây được gọi là ô \((i,j)\).
JOI-kun muốn dựng một số lều. Mỗi lều chiếm đúng một ô, và không có hai lều chiếm cùng một ô. Mỗi lều có đúng một cửa ra vào, hướng về một trong bốn phía bắc, nam, đông hoặc tây. Hướng cửa phải thỏa mãn:
Hãy đếm số cách dựng ít nhất một lều thỏa mãn các điều kiện trên, lấy dư cho \(1\,000\,000\,007\). Hai cách khác nhau nếu có một ô mà trạng thái khác nhau: có hay không có lều, hoặc hướng cửa lều khác nhau.
Một dòng chứa hai số nguyên \(H,W\).
In số cách dựng ít nhất một lều thỏa mãn điều kiện, lấy dư cho \(1\,000\,000\,007\).
Ví dụ 1
1 2
9
Ví dụ 2
4 3
3252
Ví dụ 3
100 100
561068619
JOI 2018 Spring Training Camp, ngày 1 - Tents (tiếng Anh). Bản tiếng Nhật.