usaco.org/index.php?page=viewproblem2&cpid=…, cpids 759–770).
Round metadata
| Contest | USACO 2017 December |
|---|---|
| Window | Roughly Dec 8–11, 2017 (4-day window, single 4-hour personal timer) |
| Length per division | 4 hours (Dec/Jan/Feb format; US Open is the 5-hour round) |
| Problems per division | 3 |
| Total problems | 12 (Bronze 1–3, Silver 1–3, Gold 1–3, Platinum 1–3) |
| Scoring | IOI-style partial credit, 1000 points per problem, 3000 max per division |
| Allowed languages | C, C++11, Java, Python 2.7, Python 3 (C++ is the default for serious climbers) |
| Promotion cutoffs | Set per-contest by USACO; check the results page for exact thresholds. |
The contest at a glance
Bronze · 3 problems
1. Blocked Billboard — two rectangular signs may overlap a billboard; compute the visible (uncovered) area.
2. The Bovine Shuffle — apply a fixed permutation to a row of N cows three times; output the resulting order.
3. Milk Measurement — simulate per-day milk-output adjustments and track who is currently the top producer.
Silver · 3 problems
1. My Cow Ate My Homework — for each suffix-drop K, find the K maximizing the average of remaining scores after dropping the lowest.
2. Milk Measurement — same scenario as Bronze 3 but larger N/events; track when the leader-set changes.
3. The Bovine Shuffle — given a shuffle permutation applied indefinitely, count positions that remain occupied forever (cycle nodes).
Gold · 3 problems
1. A Pie for a Pie — Bessie/Elsie trade pies; find shortest "acceptable chain" for each starting pie (BFS on bipartite layers).
2. Barn Painting — count 3-colorings of a tree with pre-assigned colors on some nodes (tree DP mod 1e9+7).
3. Haybale Feast — minimum-window over a sequence whose flavor-sum ≥ M, maximizing spiciness (sliding window + monotonic deque).
Platinum · 3 problems
1. Standing Out from the Herd — for each string, count substrings unique to it among all strings (generalized suffix automaton).
2. Push a Box — Sokoban-style: can a single box be pushed from S to T given the farmer must walk around it? (BFS on (box, side-of-farmer) states).
3. Greedy Gift Takers — cows queue and pick gifts greedily; count how many never receive one (binary search on cutoff).
How to use this set
- Pick your division. Open the full division page and read the three statements before writing any code.
- Solve P1 first, P2 if time, P3 only if you're cruising. December problem 1s are usually the cheapest points.
- Time-box. 4 hours total. Don't spend more than ~90 minutes on a single problem without a working subtask submission.
- Compare to the reference C++. Each problem on the division page has a ~30–50 line reference solution. If yours is much longer, ask why.
- Verify with the editorial. Official editorials are linked from each problem page on usaco.org.