usaco.org/index.php?page=viewproblem2&cpid=…
(cpids 639–650). Several titles — Diamond Collector, Field Reduction,
Closing the Farm, Bull in a China Shop — appear at two division levels with
progressively harder constraints, a hallmark of the 2016 Open round.
Round metadata
| Contest | USACO 2016 US Open |
|---|---|
| Window | 4-day contest window, late March / early April 2016 |
| Length per division | 5 hours (US Open is the long finals round; the Dec/Jan/Feb regular-season rounds are 4 hours) |
| Significance | Final contest of the season — results plus regular-season scores determine invitations to the USACO summer training camp |
| 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 |
| Promotion cutoff | Competitors scoring at least 750/3000 in a division were typically auto-promoted for next season. |
The contest at a glance
Bronze · 3 problems
1. Diamond Collector — sort N diamond sizes, find the longest contiguous subarray whose max−min ≤ K.
2. Bull in a China Shop — brute-force search over K-step bull moves on a small grid; count distinct reachable cells.
3. Field Reduction — given N cow positions, remove exactly 3 to minimize the bounding-box area; try all 4 extreme-corner candidates.
Silver · 3 problems
1. Field Reduction — Silver version: still remove 3 cows of up to 50 000, but pick from a small "extreme" candidate set per axis.
2. Diamond Collector — choose two non-overlapping sets of diamonds, each with spread ≤ K; sweep + best-suffix DP.
3. Closing the Farm — offline reverse-time DSU: process barn closures in reverse as union operations.
Gold · 3 problems
1. Splitting the Field — partition N points into two axis-aligned bounding rectangles, minimize total area; sweep + prefix mins.
2. Closing the Farm — Gold version: same reverse-DSU pattern but bigger graph, watch the I/O.
3. 248 — 2048-style interval DP: merge adjacent equal values into value+1; maximize final tile.
Platinum · 3 problems
1. 262144 — N up to 262144; sparse DP where dp[v][i] = right endpoint of an interval starting at i that collapses to v.
2. Bull in a China Shop — count triples of shattered figurine pieces that, under translation, rotation and reflection, perfectly reassemble the original picture (Zobrist hashing over covered cells).
3. Landscaping — transform flowerbed dirt amounts at min cost given buy / dispose / transport prices; 1D min-cost matching via regret-augmented priority queue.
How to use this set
- Pick your division. Open the full division page and read all three statements before writing any code.
- Solve P1 first, P2 if time, P3 only if you're cruising. US Open P1s are usually still the cheapest points; the 5-hour budget lets you finish P2 cleanly.
- Time-box. 5 hours total. Don't spend more than ~120 minutes on a single problem without a working subtask submission.
- Compare to the reference C++. Each problem on the division page has a short reference solution; if yours is much longer, ask why.
- Verify with the editorial. Official editorials are linked from each problem page on usaco.org.