| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | USACO 2023 US Open Contest, Silver, Milk Sum | 100 (p) | 4.0s | 256M |
| 2 | USACO 2023 US Open Contest, Silver, Field Day | 100 (p) | 2.0s | 256M |
| 3 | USACO 2023 US Open Contest, Silver, Pareidolia | 100 (p) | 4.0s | 256K |
Note: Giới hạn thời gian của bài này là 4s, gấp đôi so với thông thường
Nông dân John có \(N\) \((1 \le N \le {1.5 \times 10^5})\) con bò được đánh số từ \(1\) đến \(N\), con bò \(i\) sản xuất được \(a_i\) \((1 \le a_i \le 10^8, a_i \in \mathbb{Z})\) đơn vị sữa mỗi phút.
Mỗi sáng thức dậy, John bắt đầu với các con bò đang bị xích vào máy vắt sữa trong chuồng, bác ta sẽ thả từng con một ra ngoài để tập thể dục buổi sáng. Con bò đầu tiên được thả sau \(1\) phút vắt sữa, con bò thứ \(2\) được thả sau \(2\) phút vắt sữa, ... Hay nói cách khác, con bò thứ \(i\) được thả sau \(i\) phút vắt sữa, giả sử con bò này được đánh là \(x\) thì sẽ sản xuất được \(a_x \times i\) đơn vị sữa. Gọi \(T\) là lượng sữa lớn nhất mà bác John thu thập được nếu thả các con bò ra theo thứ tự tối ưu.
Bác ta tò mò liệu \(T\) sẽ thay đổi thế nào các một số con bò sản xuất ra lượng sữa khác đi. Có \(Q\) \((1 \le Q \le {1.5 \times 10^5})\) truy vấn, gồm \(2\) số nguyên \(i\) và \(j\), với mỗi truy vấn hãy tính toán \(T\) sẽ thay đổi thế nào nếu \(a_i\) được đặt thành \(j\) \((1 \le j \le 10^8)\). Các truy vấn là độc lập, nghĩa là các truy vấn đều chỉ áp dụng lên trạng thái ban đầu của dãy \(a\).
Test 1
5
1 10 4 2 6
3
2 1
2 8
4 5
55
81
98
Trong truy vấn đầu tiên, dãy \(a\) trở thành \([1, 1, 4, 2, 6]\), và \(T = 1 \times 1 + 1 \times 2 + 2 \times 3 + 4 \times 4 + 6 \times 5 = 55\).
Trong truy vấn thứ hai, dãy \(a\) trở thành \([1, 8, 4, 2, 6]\), và \(T = 1 \times 1 + 2 \times 2 + 4 \times 3 + 5 \times 4 + 8 \times 5 = 81\).
Trong truy vấn thứ ba, dãy \(a\) trở thành \([1, 10, 4, 5, 6]\), và \(T = 1 \times 1 + 4 \times 2 + 5 \times 3 + 6 \times 4 + 10 \times 5 = 98\).
Note: Giới hạn thời gian cho Python là 15s. Các ngôn ngữ lập trình khác là 2s.
Trong các chuồng của nông dân John, đều có \(1\) đội gồm \(C\) chú bò \((1 \le C \le 18)\) để tham gia vào ngày hội thao. Chủng tộc của mỗi chú bò đều là Guernsey hoặc Holstein.
Độ khác biệt giữa hai đội là số lượng vị trí \(i\) \((1 \le i \le C)\) mà chủng bò ở vị trí này của hai đội là khác nhau. Với mỗi đội, hãy tìm độ khác biệt lớn nhất giữa đội đó với các đội còn lại.
Test 1
5 3
GHGGH
GHHHH
HGHHG
5
3
5
Độ khác biệt giữa đội \(1\) và \(3\) là \(5\). Độ khác biệt giữa đội \(2\) và \(3\) là \(3\).
Note: Giới hạn thời gian của bài này là 4s, gấp đôi so với thông thường
Pareidolia là một hội chứng mà mắt bạn có xu hướng nhìn thấy những thứ quen thuộc trong ảnh mà thậm chí không tồn tại (ví dụ như thấy một gương mặt trên đám mây). Nông dân John, một người với niềm yêu thương những chú bò của mình, thường xuyên thấy những thứ liên quan đến bò trong mọi vật dụng. Ví dụ, nếu như bác John thấy xâu "bqessiyexbesszieb", đôi mắt của bác sẽ tự động bỏ đi một số kí tự và nhầm lẫn thành "bessiexbessieb" - một xâu gồm \(2\) xâu con liên tiếp "bessie" (tên một cô bò mà bác rất yêu quý).
Với một xâu \(s\), ta gọi \(B(s)\) là số lượng xâu con liên tiếp "bessie" nhiều nhất có thể đạt được từ xâu \(s\) nếu xoá đi \(0\) hoặc nhiều kí tự trong xâu \(s\). Trong ví dụ trên, \(B(\)"bqessiyexbesszieb"\() = 2\).
Tính toán \(B(s)\) rất là thú vị, vì vậy bác John cho bạn một thử thách: Bạn được cho một xâu \(t\) độ dài không quá \(3 \times 10^5\) chỉ bao gồm các chữ cái in thường, hãy tính tổng \(B(s)\) cho mọi xâu con liên tiếp \(s\) của xâu \(t\).
Test 1
abcdefghssijebessie
28