| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | USACO 2023 February Contest, Gold, Equal Sum Subarrays | 100 (p) | 3.0s | 256M |
| 2 | USACO 2023 February Contest, Gold, Fertilizing Pastures | 100 (p) | 2.0s | 256M |
| 3 | USACO 2023 February Contest, Gold, Piling Papers | 100 (p) | 2.0s | 256M |
FJ đưa cho Bessie một mảng \(a\) có độ dài \(N(2\le N \le 500, -10^{15}\le a_i\le10^{15})\) với tất cả \(\frac{N*(N+1)}{2}\) dãy con liên tiếp đều có tổng đôi một khác nhau. Với mỗi chỉ số \(i\in[1,N]\) , hãy giúp Bessie tính lượng tối thiểu cần thay đổi với \(a_i\) sao cho có hai dãy con liền tiếp khác nhau có tổng bằng nhau.
\(N\) dòng, dòng thứ \(i\) chứa lượng tối thiểu cần thay đổi với \(a_i\).
Test 1
2
2 -3
2
3
Giảm \(a_1\) đi \(2\) sẽ có \(a_1+a_2=a_2\). Tương tự, tăng \(a_2\) lên \(3\) sẽ có \(a_1+a_2=a_1\).
Test 2
3
3 -10 4
1
6
1
Giảm \(a_1\) hoặc \(a_3\) đi \(1\) sẽ có \(a_1=a_3\). Tăng \(a_2\) lên \(6\) sẽ có \(a_1+a_2+a_3=a_1\).
Có \(N\) đồng cỏ \((2\leq N\leq2*10^5)\), được nối với nhau bởi \(N-1\) con đường, sao cho chúng tạo thành một cây. Mỗi con đường mất \(1\) giây để vượt qua. Mỗi đồng cỏ ban đầu không có cỏ và cỏ của đồng cỏ thứ \(i\) phát triển với tốc độ \(a_i(1\leq a_i\leq10^8)\) đơn vị mỗi giây. Lúc đầu, nông dân John ở đồng cỏ 1 và cần phải lái xe vòng quanh để bón phân cho cỏ ở mọi đồng cỏ. Nếu anh ta đến thăm một đồng cỏ có \(x\) đơn vị cỏ thì sẽ cần \(x\) lượng phân bón. Đồng cỏ chỉ cần được bón phân trong lần đầu tiên đến và việc bón phân không mất thời gian.
Đầu vào chứa tham số \(T\in{0,1}\):
Tính thời gian tối thiểu cần thiết để bón phân cho tất cả đồng cỏ và lượng phân bón tối thiểu cần với khoảng thời gian đó.
Lượng thời gian tối thiểu và lượng phân bón tối thiểu, cách nhau bằng khoảng trống.
Test 1
5 0
1 1
1 2
3 1
3 4
8 21
Lộ trình tối ưu cho như sau:
Lộ trình này mất \(8\) giây và sử dụng \(2+8+4+7=21\) phân bón. Có thể chỉ ra rằng \(8\) giây là khoảng thời gian ít nhất cần và \(21\) là lượng phân bón ít nhất cần cho bất kỳ tuyến đường nào quay trở lại nút \(1\) và mất \(8\) giây.
Test 2
5 1
1 1
1 2
3 1
3 4
6 29
Lộ trình tối ưu cho như sau:
Lộ trình này mất \(6\) giây và sử dụng \(1+6+16+6=29\) phân bón. Có thể chỉ ra rằng \(6\) giây là khoảng thời gian ít nhất cần và \(29\) là lượng phân bón ít nhất cần cho bất kỳ tuyến đường mất \(6\) giây.
Nông dân John viết \(N(1 \leq N\leq300)\) chữ số lên một vài mảnh giấy. Với mỗi \(i\in[1,N]\), mảnh giấy thứ \(i\) chứa chữ số \(a_i\) \((1\leq a_i \leq 9)\).
Những con bò có hai số nguyên yêu thích \(A\) và \(B (1\leq A\leq B<10^{18} )\) và muốn bạn trả lời \(Q\) truy vấn \((1\leq Q\leq5*10^4)\). Đối với truy vấn thứ i, đám bò sẽ đi qua các mảnh giấy \(l_i…r_i (1\leq l_i\leq r_i\leq N )\) từ trái sang phải, duy trì một chồng giấy. Đối với mỗi mảnh giấy, chúng sẽ thêm nó vào đầu chồng, vào cuối chồng hoặc không thêm vào. Cuối cùng, chúng sẽ đọc các mảnh giấy trong chồng từ trên xuống dưới, tạo thành một số nguyên. Trên tất cả \(3^{r_i−l_i+1}\) cách để chúng đưa ra lựa chọn, hãy đếm số cách tạo ra số nằm trong đoạn \([A,B]\) in ra số này với \(modulo\) \(10^9+7\).
In ra kết quả mỗi truy vấn trên \(1\) dòng.
Test 1
5 13 327
1 2 3 4 5
3
1 2
1 3
2 5
2
18
34
Với truy vấn đầu tiên, có \(9\) cách để tạo ra số trong khoảng \([1,2]\):
Chỉ có \(2\) cách tạo ra \(21\) - nằm trong khoảng từ \(13\) đến \(327\), vì vậy câu trả lời là \(2\).