| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | USACO 2014 - Roadblock | 100 (p) | 4.0s | 512M |
| 2 | USACO 2014 - Cow Decathlon | 100 (p) | 4.0s | 512M |
| 3 | USACO 2014 - Airplane Boarding | 100 (p) | 4.0s | 512M |
Mỗi buổi sáng, FJ thức dậy và đi qua trang trại từ nhà đến chuồng. Trang trại gồm \(N\) cánh đồng (\(1 \le N \le 250\)) được nối với nhau bởi \(M\) con đường hai chiều (\(1 \le M \le 25\,000\)), mỗi con đường có một độ dài tương ứng. Nhà của FJ nằm ở cánh đồng \(1\), còn chuồng nằm ở cánh đồng \(N\). Không có cặp cánh đồng nào được nối bởi nhiều con đường trùng lặp, và có thể di chuyển giữa hai cánh đồng bất kỳ trong trang trại bằng cách đi theo một dãy đường thích hợp. Khi đi từ cánh đồng này đến cánh đồng khác, FJ luôn chọn một lộ trình gồm một dãy đường có tổng độ dài nhỏ nhất.
Những cô bò của Farmer John, vẫn luôn thích gây rắc rối, quyết định cản trở thói quen buổi sáng của ông. Chúng dự định chất một đống kiện cỏ khô trên đúng một trong \(M\) con đường của trang trại, khiến độ dài của con đường đó tăng gấp đôi. Những cô bò muốn chọn con đường để chặn sao cho mức tăng quãng đường từ nhà đến chuồng của FJ là lớn nhất. Hãy giúp chúng xác định có thể làm lộ trình của FJ dài thêm nhiều nhất bao nhiêu.
In ra mức tăng lớn nhất có thể của tổng độ dài lộ trình ngắn nhất của FJ khi tăng gấp đôi độ dài của một con đường duy nhất.
Ví dụ 1
5 7
2 1 5
1 3 1
3 2 8
3 5 7
3 4 3
2 4 7
4 5 2
2
Có \(5\) cánh đồng và \(7\) con đường. Ban đầu, đường đi ngắn nhất từ nhà (cánh đồng \(1\)) đến chuồng (cánh đồng \(5\)) là \(1-3-4-5\), có tổng độ dài \(1+3+2=6\).
Nếu những cô bò tăng gấp đôi độ dài con đường từ cánh đồng \(3\) đến cánh đồng \(4\) (tăng từ \(3\) lên \(6\)), lộ trình ngắn nhất của FJ lúc này là \(1-3-5\), có tổng độ dài \(1+7=8\), dài hơn lộ trình ngắn nhất ban đầu \(2\) đơn vị.
USACO 2014 February Contest, Gold — Roadblock
Tác giả: Brian Dean.
\(N\) cô bò của Farmer John (\(1 \le N \le 20\)), vẫn được đánh số thuận tiện từ \(1\) đến \(N\) như thường lệ, đang chuẩn bị cho một cuộc thi mười môn phối hợp gồm \(N\) nội dung khác nhau (vì thế có lẽ nên gọi đây là cuộc thi \(N\) môn phối hợp thay vì mười môn phối hợp, vốn theo truyền thống có đúng \(10\) nội dung).
Bò \(i\) có mức kỹ năng \(s_{ij}\) (\(1 \le s_{ij} \le 1\,000\)) khi thi đấu ở nội dung \(j\). Mỗi cô bò phải thi đấu ở đúng một nội dung và mỗi nội dung phải có một cô bò tham gia.
Tổng điểm của tất cả các cô bò là tổng mức kỹ năng của họ trong những nội dung họ tham gia. Tuy nhiên, ban giám khảo cũng có thể trao điểm thưởng nếu họ đặc biệt ấn tượng. Có \(B\) khoản thưởng (\(1 \le B \le 20\)) mà ban giám khảo có thể trao. Khoản thưởng \(i\) gồm ba phần: nếu các cô bò đạt ít nhất \(P_i\) điểm (\(1 \le P_i \le 40\,000\)) trong \(K_i\) nội dung đầu tiên, tính cả các khoản thưởng khác chỉ liên quan đến những nội dung đó, họ sẽ nhận thêm \(A_i\) điểm (\(1 \le A_i \le 1\,000\)).
Ví dụ, xét \(N=3\) cô bò với các mức kỹ năng sau:
| Bò \ Nội dung | \(1\) | \(2\) | \(3\) |
|---|---|---|---|
| \(1\) | \(5\) | \(1\) | \(7\) |
| \(2\) | \(2\) | \(2\) | \(4\) |
| \(3\) | \(4\) | \(2\) | \(1\) |
Chẳng hạn, bò \(1\) sẽ mang về cho đội \(7\) điểm nếu tham gia nội dung \(3\).
Giả sử ban giám khảo đưa ra một khoản thưởng (\(B=1\)): nếu các cô bò đạt ít nhất \(7\) điểm trong hai nội dung đầu tiên, họ sẽ nhận thêm \(6\) điểm. Khi đó, cách phân công tối ưu là xếp bò \(1\) thi nội dung \(1\), bò \(2\) thi nội dung \(3\) và bò \(3\) thi nội dung \(2\). Trong hai nội dung đầu tiên, bò \(1\) đạt \(5\) điểm và bò \(3\) đạt \(2\) điểm, tổng cộng là \(7\) điểm, đủ để nhận khoản thưởng \(1\). Do đó, tổng điểm họ đạt được là \(5+2+4+6=17\).
Hãy giúp xác định các nội dung mà những cô bò nên tham gia để tối đa hóa tổng điểm.
In ra tổng điểm lớn nhất mà các cô bò có thể nhận được, bao gồm cả điểm thưởng.
Ví dụ 1
3 1
2 7 6
5 1 7
2 2 4
4 2 1
17
Bò \(1\) thi nội dung \(1\), bò \(3\) thi nội dung \(2\) và bò \(2\) thi nội dung \(3\).
USACO 2014 February Contest, Gold — Cow Decathlon
Tác giả: Lewin Gan.
\(N\) cô bò của FJ đã quyết định đi nghỉ và, thật kỳ diệu, tìm được một hãng hàng không sẵn lòng bán vé cho chúng. Tuy nhiên, khi đến sân bay và bắt đầu lên máy bay, chúng phải đối mặt với một vấn đề thú vị.
Máy bay có \(N\) ghế, được mô hình hóa thành các điểm từ \(x=1\) đến \(x=N\) trên trục số. Cả \(N\) cô bò (\(1 \le N \le 200\,000\)) đang xếp hàng chờ đi đến ghế của mình. Bò \(N\) ở vị trí \(x=0\), bò \(N-1\) ở vị trí \(x=-1\), và cứ tiếp tục như vậy. Bò \(i\) được xếp vào ghế \(S_i\), trong đó \(S_1,\ldots,S_N\) là một hoán vị của \(1,\ldots,N\).
Ở mỗi bước thời gian, mỗi cô bò bước sang phải nếu có thể. Khi bò \(i\) đến ghế \(S_i\) của mình, cô sẽ dừng lại để cất hành lý vào ngăn phía trên; việc này mất \(T_i\) giây, sau đó cô mới ngồi xuống. Trong \(T_i\) bước ấy, cô bò đứng ngay sau (nếu có) bị chặn và không thể tiến lên. Nếu phía sau cô là cả một hàng bò thì toàn bộ hàng đó cũng bị chặn.
Hỏi cần bao lâu để tất cả các cô bò ngồi xuống?
Tổng \(T_i\) của tất cả các cô bò nhỏ hơn \(1\,000\,000\,000\).
In ra thời gian cần thiết để tất cả các cô bò ngồi vào ghế.
Ví dụ 1
3
2 5
3 10
1 5
19
Ban đầu, các cô bò được sắp xếp như sau:
cows -> 123
123 <- seats
trong đó bò \(1\) đang cố đến ghế \(2\), bò \(2\) đang cố đến ghế \(3\), còn bò \(3\) đang cố đến ghế \(1\).
Sau một bước, tất cả đều dịch sang phải \(1\) đơn vị và bò \(3\) đến được ghế của mình:
123
123
Bò \(3\) mất \(5\) giây để ngồi xuống, và tại thời điểm đó có thể xem như cô biến mất.
12
123
Bò \(1\) và bò \(2\) cần thêm \(3\) giây để đến được những chiếc ghế được chỉ định:
12
123
Bò \(1\) mất \(5\) giây để ngồi xuống và bò \(2\) mất \(10\) giây, nên giai đoạn này mất tổng cộng \(10\) giây.
Tổng thời gian là \(1+5+3+10=19\) giây.
USACO 2014 February Contest, Gold — Airplane Boarding
Tác giả: Travis Hance.