| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | USACO 2022 December Contest, Silver, Barn Tree | 100 (p) | 4.0s | 512M |
| 2 | USACO 2022 December Contest, Silver, Circular Barn | 100 (p) | 2.0s | 256M |
| 3 | USACO 2022 December Contest, Silver, Range Reconstruction | 100 (p) | 2.0s | 256M |
Lưu ý: Giới hạn thời gian là 4 giây. Giới hạn bộ nhớ là 512MB.
Nông dân John có \(N\) chuồng bò \((2 \le N \le 2 \times 10^5)\) được đánh số \(1 \dots N\). Có \(N - 1\) con đường hai chiều nối các cặp chuồng bò, và từ một chuồng bò có thể đi đến \(N - 1\) chuồng còn lại. Hiện tại, chuồng \(j\) có \(h_j\) kiện có khô \((1 \le h_j \le 10^9)\).
Để làm hài lòng lũ bò, nông dân John muốn di chuyển các kiện này sao cho số lượng cỏ khô mà các chú bò có là bằng nhau. Bác ta có thể chọn \(1\) cặp chuồng bất kì có đường nối giữa chúng và ra lệnh cho cấp dưới di chuyển các kiện hàng với số lượng nguyên dương bất kì bé hơn hoặc bằng so với số kiện cỏ hiện tại đang có trong chuồng sang chuồng còn lại.
Hãy xác định dãy các mệnh lệnh để nông dân John có thể hoàn thành nhiệm vụ sao cho độ dài dãy là bé nhất. Dữ liệu đảm bảo thấy rằng đáp án luôn tồn tại.
Test 1
4
2 1 4 5
1 2
2 3
2 4
3
3 2 1
4 2 2
2 1 1
Trong ví dụ này, có tổng cộng \(12\) kiện cỏ và \(4\) chuồng, nghĩa là mỗi chuồng sẽ phải có \(3\) kiện cỏ. Dãy các mệnh lệnh trong Output có thể được giải thích như sau:
Nông dân John và kẻ thù không đội trời chung của bác - Nông dân Nhoj đang chơi một trò chơi trong chuồng bò được xây thành đường tròn. Có \(N\) \((1 \le N \le 10^5)\) căn phòng trong chuồng, phòng thứ \(i\) ban đầu có \(a_i\) con bò \((1 \le a_i \le 5 \times 10^6)\). Trò chơi diễn ra như sau:
Hãy tìm ra người chiến thắng nếu cả \(2\) chơi tối ưu.
Test 1
5
1
4
1
9
2
2 3
2
7 10
3
4 9 4
Farmer Nhoj
Farmer John
Farmer John
Farmer John
Farmer Nhoj
Bessie có một dãy \(a_1, a_2, \dots, a_N\), trong đó \(1 \le N \le 300\) và \(0 \le a_i \le 10^9\) với mọi \(i\). Cô nàng sẽ không nói thẳng cho bạn dãy \(a\) mà lại thích vòng vo Tam Quốc, chỉ nói cho bạn khoảng xác định của dãy. Nghĩa là, với mỗi cặp chỉ số \(i \le j\), Bessie sẽ nói cho bạn \(r_{i, j} = \max a[i \dots j] - \min a[i \dots j]\). Cho các giá trị của \(r\), hãy xây dựng lại một dãy mà có thể là dãy ban đầu của Bessie. Các giá trị trong dãy phải nằm trong đoạn \([-10^9, 10^9]\).
Test 1
3
0 2 2
0 1
0
1 3 2
Ví dụ \(r_{1, 3} = \max a[1 \dots 3] - \min a[1 \dots 3] = 3 - 1 = 2\).
Test 2
3
0 1 1
0 0
0
0 1 1
Test này thoả mãn ràng buộc của subtask \(1\).
Test 3
4
0 1 2 2
0 1 1
0 1
0
1 2 3 2
Test này thoả mãn ràng buộc của subtask \(2\).
Test 4
4
0 1 1 2
0 0 2
0 2
0
1 2 2 0