| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | USACO 2022 December Contest, Platinum, Breakdown | 100 (p) | 3.0s | 256M |
| 2 | USACO 2022 December Contest, Platinum, Making Friends | 100 (p) | 3.0s | 512M |
| 3 | USACO 2022 December Contest, Platinum, Palindromes | 100 (p) | 2.0s | 256M |
Trang trại của Farmer John có thể được mô phỏng như một đồ thị có hướng với trọng số, với các con đường (cạnh) kết nối các nút khác nhau, và trọng số của mỗi cạnh là thời gian cần thiết để di chuyển trên con đường đó. Mỗi ngày, Bessie thích di chuyển từ chuồng (nằm ở nút \(1\)) đến cánh đồng (nằm ở nút \(N\)) bằng cách đi qua chính xác \(K\) con đường, và muốn đến cánh đồng nhanh nhất có thể dưới ràng buộc này. Tuy nhiên, tại một thời điểm nào đó, các con đường sẽ ngừng được bảo trì, và một cách tuần tự, chúng bắt đầu hỏng, trở nên không thể đi qua. Hãy giúp Bessie tìm đường đi ngắn nhất từ chuồng đến cánh đồng vào mọi thời điểm!
Cụ thể, chúng ta bắt đầu với một đồ thị \(N\) đỉnh (\(1\le N\le 300\)) có hướng hoàn chỉnh có trọng số với \(N^2\) cạnh: một cạnh cho mỗi cặp \((i, j)\) với \(1 \le i, j \le N\) (lưu ý rằng có \(N\) vòng lặp tự thân). Sau mỗi lần loại bỏ, hãy xuất ra trọng số tối thiểu của bất kỳ đường đi nào từ \(1\) đến \(N\) đi qua chính xác \(K\) (\(2\le K\le 8\)) cạnh (không nhất thiết phải khác nhau). Lưu ý rằng sau lần loại bỏ thứ \(i\), đồ thị còn lại \(N^2-i\) cạnh.
Trọng số của một đường đi được định nghĩa là tổng trọng số của tất cả các cạnh trên đường đi. Lưu ý rằng một đường đi có thể chứa nhiều cạnh giống nhau và nhiều đỉnh giống nhau, bao gồm cả các đỉnh \(1\) và \(N\).
Test 1
3 4
10 4 4
9 5 3
2 1 6
3 1
2 3
2 1
3 2
2 2
1 3
3 3
1 1
1 2
11
18
22
22
22
-1
-1
-1
-1
Sau lần loại bỏ đầu tiên, đường đi \(4\) ngắn nhất là: 1 -> 2 -> 3 -> 2 -> 3.
Sau lần loại bỏ thứ hai, đường đi \(4\) ngắn nhất là: 1 -> 3 -> 2 -> 1 -> 3.
Sau lần loại bỏ thứ ba, đường đi \(4\) ngắn nhất là: 1 -> 3 -> 3 -> 3 -> 3.
Sau sáu lần loại bỏ, không còn đường đi \(4\) nào nữa.
Có \(M\) (\(1\le M\le 2\cdot 10^5\)) cặp bạn bè ban đầu giữa \(N\) (\(2\le N\le 2\cdot 10^5\)) con bò được gán nhãn từ \(1\) đến \(N\). Các con bò sẽ rời trang trại để đi nghỉ một cách lần lượt. Vào ngày thứ \(i\), con bò thứ \(i\) rời trang trại, và tất cả các cặp bạn bè của con bò thứ \(i\) vẫn có mặt tại trang trại sẽ trở thành bạn bè. Hãy cho biết tổng số tình bạn mới được hình thành là bao nhiêu.
Test 1
7 6
1 3
1 4
7 1
2 3
2 4
3 5
5
Vào ngày thứ \(1\), ba tình bạn mới được hình thành: \((3,4)\), \((3,7)\) và \((4,7)\).
Vào ngày thứ \(3\), hai tình bạn mới được hình thành: \((4,5)\) và \((5,7)\).
Liên Hiệp Bò của Farmer John (UCFJ) đang tham gia giải vô địch hoofball hàng năm! Đội UCFJ gồm \(N\) bò (\(1 \le N \le 7500\)) đã giành được huy chương vàng trong môn hoofball, vượt qua đội của Farmer Nhoj một cách sát sao.
Các con bò đã sắp xếp hàng để chuẩn bị cho buổi lễ trao giải. Chúng muốn John chụp \(\frac{N(N+1)}{2}\) bức ảnh nhóm, một bức cho mỗi chuỗi con liên tiếp trong đội hình.
Tuy nhiên, John, với tư cách là huấn luyện viên của đội, rất kén chọn về cách mà các con bò nên được xếp hàng. Cụ thể, ông từ chối chụp ảnh cho một chuỗi con trừ khi nó tạo thành một palindrome, có nghĩa là giống bò của con bò thứ \(i\) từ đầu chuỗi con phải giống với giống bò của con bò thứ \(i\) từ cuối chuỗi con đối với tất cả các số nguyên dương \(i\) nhỏ hơn hoặc bằng độ dài của chuỗi con. Mỗi giống bò có thể là Guernsey hoặc Holstein.
Đối với mỗi một trong \(\frac{N(N+1)}{2}\) chuỗi con liên tiếp của đội hình, hãy đếm số lần hoán đổi tối thiểu cần thiết để sắp xếp chuỗi con đó thành một palindrome (hoặc \(-1\) nếu không thể làm được). Một lần hoán đổi đơn giản là việc lấy hai con bò kề nhau trong chuỗi con và hoán đổi vị trí của chúng. Xuất ra tổng số lần hoán đổi của tất cả các chuỗi con này.
Lưu ý rằng số lần hoán đổi cần thiết được tính độc lập cho mỗi chuỗi con (các con bò quay trở lại vị trí ban đầu giữa các bức ảnh).
Test 1
GHHGGHHGH
12
Bốn chuỗi con liên tiếp đầu tiên là G, GH, GHH và GHHG. Cả G và GHHG đều đã là palindrome, vì vậy chúng đóng góp \(0\) vào tổng. GHH có thể được sắp xếp thành một palindrome bằng một lần hoán đổi, vì vậy nó đóng góp \(1\) vào tổng. GH không thể được sắp xếp thành palindrome bằng bất kỳ số lần hoán đổi nào, vì vậy nó đóng góp \(-1\) vào tổng.
Một chuỗi con liên tiếp khác đóng góp vào tổng là HHGG. Chuỗi này có thể được sắp xếp thành một palindrome bằng hai lần hoán đổi.