USACO Bronze To Silver Accelerator – Core Algorithms & Problem Solving (part1/semester1)
- 12 Sections
- 234 Lessons
Introduction to USACO
Simulation
- Simulation
- USACO 2019 January Contest, Bronze: Shell Game
- Analysis/Solution: USACO 2019 January Contest, Bronze: Shell Game
- USACO 2018 December Contest, Bronze Problem 1. Mixing Milk
- Analysis: USACO 2018 December Contest, Bronze Problem 1. Mixing Milk
- Simulation Problems ( real USACO problems)
- USACO 2016 December Contest, Bronze Problem 3. The Cow-Signal
- Analysis: USACO 2016 December Contest, Bronze Problem 3. The Cow-Signal
- USACO 2015 December Contest, Bronze Problem 2. Speeding Ticket
- Analysis: USACO 2015 December Contest, Bronze Problem 2. Speeding Ticket
- USACO 2017 US Open Contest, Bronze Problem 1. The Lost Cow
- Analysis: Lost cow
- USACO 2017 December Contest, Bronze Problem 2. The Bovine Shuffle
- Analysis: The Bovine Shuffle
- USACO 2018 December Contest, Bronze Problem 2. The Bucket List
- Analysis: USACO 2018 December Contest, Bronze Problem 2. The Bucket List
- USACO 2019 February Contest, Bronze Problem 3. Measuring Traffic
- Analysis: USACO 2019 February Contest, Bronze Problem 3. Measuring Traffic
- USACO 2016 February Contest, Bronze Problem 2. Circular Barn
- Analysis: USACO 2016 February Contest, Bronze Problem 2. Circular Barn
- USACO 2016 December Contest, Bronze Problem 2. Block Game
- Analysis: USACO 2016 December Contest, Bronze Problem 2. Block Game
- USACO 2018 US Open Contest, Bronze Problem 1. Team Tic Tac Toe
- Analysis: USACO 2018 US Open Contest, Bronze Problem 1. Team Tic Tac Toe
- USACO 2016 January Contest, Bronze Problem 3. Mowing the Field
- Analysis: USACO 2016 January Contest, Bronze Problem 3. Mowing the Field
- USACO 2015 February Contest, Bronze Problem 1. Censoring (Bronze)
- Analysis: USACO 2015 February Contest, Bronze Problem 1. Censoring (Bronze)
- USACO 2017 December Contest, Bronze Problem 3. Milk Measurement
- Analysis: USACO 2017 December Contest, Bronze Problem 3. Milk Measurement
- USACO 2020 December Contest, Bronze Problem 3. Stuck in a Rut
- Analysis: USACO 2020 December Contest, Bronze Problem 3. Stuck in a Rut
- USACO 2020 February Contest, Bronze Problem 1. Triangles
- USACO 2017 February Contest, Bronze Problem 2. Why Did the Cow Cross the Road II
Complete Search
- Complete search (brute force)
- Prefix Sum
- USACO common complete search techniques
- Complete Search Patrice problems
- USACO 2016 February Contest, Bronze Problem 1. Milk Pails
- Analysis: USACO 2016 February Contest, Bronze Problem 1. Milk Pails
- USACO 2016 US Open Contest, Bronze Problem 1. Diamond Collector
- Analysis: USACO 2016 US Open Contest, Bronze Problem 1. Diamond Collector
- USACO 2020 December Contest, Bronze Problem 2. Daisy Chains
- Analysis: USACO 2020 December Contest, Bronze Problem 2. Daisy Chains
- USACO 2022 US Open Contest, Bronze Problem 2. Counting Liars
- Analysis: USACO 2022 US Open Contest, Bronze Problem 2. Counting Liars
- USACO 2019 December Contest, Bronze Problem 1. Cow Gymnastics
- Analysis: USACO 2019 December Contest, Bronze Problem 1. Cow Gymnastics
- USACO 2017 US Open Contest, Bronze Problem 2. Bovine Genomics
- Analysis: USACO 2017 US Open Contest, Bronze Problem 2. Bovine Genomics
- USACO 2020 February Contest, Bronze Problem 1. Triangles
- Analysis: USACO 2020 February Contest, Bronze Problem 1. Triangles
- USACO 2018 January Contest, Bronze Problem 2. Lifeguards
- Analysis: USACO 2018 January Contest, Bronze Problem 2. Lifeguards
- USACO 2017 February Contest, Bronze Problem 2. Why Did the Cow Cross the Road II
- Analysis: USACO 2017 February Contest, Bronze Problem 2. Why Did the Cow Cross the Road II
- USACO 2019 January Contest, Bronze Problem 3. Guess the Animal
- Analysis: USACO 2019 January Contest, Bronze Problem 3. Guess the Animal
- USACO 2016 February Contest, Bronze Problem 3. Load Balancing
- Analysis: USACO 2016 February Contest, Bronze Problem 3. Load Balancing
- USACO 2022 February Contest, Bronze Problem 1. Sleeping in Class
- Analysis: USACO 2022 February Contest, Bronze Problem 1. Sleeping in Class
- USACO 2015 December Contest, Bronze Problem 3. Contaminated Milk
- Analysis: USACO 2015 December Contest, Bronze Problem 3. Contaminated Milk
- USACO 2020 US Open Contest, Bronze Problem 3. Cowntact Tracing
- Analysis: USACO 2020 US Open Contest, Bronze Problem 3. Cowntact Tracing
- USACO 2016 US Open Contest, Bronze Problem 2. Bull in a China Shop
- Analysis: USACO 2016 US Open Contest, Bronze Problem 2. Bull in a China Shop
- USACO 2016 February Contest, Silver Problem 2. Load Balancing
- Analysis: USACO 2016 February Contest, Silver Problem 2. Load Balancing
- USACO 2023 US Open Contest, Bronze Problem 2. Moo Language
- Analysis: USACO 2023 US Open Contest, Bronze Problem 2. Moo Language
- Analysis: USACO 2023 January Contest, Bronze Problem 2. Air Cownditioning II
Sorting
- Sorting and Simple Data Structures
- 📚 Advanced topic: Sorting Algorithms — Complete Guide
- Advanced topic: sort algorithm implementation
- Using Sorting to Solve USACO Problems
- Concrete examples for sorted-based pattern
- Advanced topic: Sorting + Greedy / Two Pointers / Binary Search`
- Mastering Binary Search: The Universal Template (C++)
- Sorting practice problems
- Sorting problem II ( set/maps)
- Distinct Numbers
- Coding problem: B. Playing in a Casino
- Analysis: CF - Playing in a Casino
- Coding problem: B. Kayaking
- Analysis: B. Kayaking
- USACO 2017 February Contest, Bronze Problem 3. Why Did the Cow Cross the Road III
- Analysis: USACO 2017 February Contest, Bronze Problem 3. Why Did the Cow Cross the Road III
- USACO 2022 December Contest, Bronze Problem 1. Cow College
- Analysis: USACO 2022 December Contest, Bronze Problem 1. Cow College
- USACO 2016 January Contest, Bronze Problem 2. Angry Cows
- Analysis:USACO 2016 January Contest, Bronze Problem 2. Angry Cows
- H. Permutator
- Analysis: H. Permutator
Find the correct Data structures: vector, 2/3darray, Sets & Maps, prefix_sum/cache
- USACO Bronze/Silver set, unordered_set, map, and unordered_map
- Advanced topic: set (log n) or unorded_set? o(N^2)
- Advanced topic: C++ Custom Comparators for set / map / unordered_map
- Typical pattern for set, map, unordered_set, and unordered_map
- Understanding Modulo (%) with Negative Numbers in C++
- Prefix Sums, Caching, and Pre-calculation
- Sum of Two Values
- Analysis: Sum of Two Values ( must-do)
- USACO 2019 December Contest, Bronze Problem 2. Where Am I?
- Analysis: USACO 2019 December Contest, Bronze Problem 2. Where Am I?
- USACO 2018 US Open Contest, Bronze Problem 1. Team Tic Tac Toe
- Analysis: USACO 2018 US Open Contest, Bronze Problem 1. Team Tic Tac Toe
- USACO 2021 February Contest, Bronze Problem 1. Year of the Cow
- Analysis: USACO 2021 February Contest, Bronze Problem 1. Year of the Cow
- USACO 2017 January Contest, Bronze Problem 1. Don't Be Last!
- Analysis: USACO 2017 January Contest, Bronze Problem 1. Don't Be Last!
- USACO 2016 December Contest, Silver Problem 2. Cities and States
- Analysis: USACO 2016 December Contest, Silver Problem 2. Cities and States
- C. Jury Marks
- C - Made Up
- G1. Into Blocks (easy version)
Greedy Algorithms
- Introduction to Greedy Algorithms
- Turning Global Optimization into Safe Local Decisions
- 🐄 Greedy Algorithms how to know it is a good strategy for a USACO (Bronze/Silver) problem
- Advanced topic: How to proof greedy strategy give optimal solution
- Practice problems
- USACO 2020 February Contest, Bronze Problem 2. Mad Scientist
- Analysis: USACO 2020 February Contest, Bronze Problem 2. Mad Scientist
- USACO 2023 February Contest, Bronze Problem 3. Watching Mooloo
- Analysis: USACO 2023 February Contest, Bronze Problem 3. Watching Mooloo
- USACO 2017 January Contest, Bronze Problem 3. Cow Tipping
- Analysis: USACO 2017 January Contest, Bronze Problem 3. Cow Tipping
- USACO 2021 January Contest, Bronze Problem 2. Even More Odd Photos
- Analysis: USACO 2021 January Contest, Bronze Problem 2. Even More Odd Photos
- USACO 2018 January Contest, Bronze Problem 3. Out of Place
- Analysis: USACO 2018 January Contest, Bronze Problem 3. Out of Place
- USACO 2022 US Open Contest, Bronze Problem 1. Photoshoot
- Analysis: USACO 2022 US Open Contest, Bronze Problem 1. Photoshoot
- USACO 2020 January Contest, Bronze Problem 3. Race
- Analysis: USACO 2020 January Contest, Bronze Problem 3. Race
- USACO 2023 US Open Contest, Bronze Problem 1. FEB
- Analysis: USACO 2023 US Open Contest, Bronze Problem 1. FEB
Ad Hoc Problems
- Ad Hoc Problems
- Ad Hoc Problem-Solving Strategy
- Practice problems
- USACO 2016 January Contest, Bronze Problem 1. Promotion Counting
- Analysis: USACO 2016 January Contest, Bronze Problem 1. Promotion Counting
- USACO 2018 US Open Contest, Bronze Problem 2. Milking Order
- Analysis: USACO 2018 US Open Contest, Bronze Problem 2. Milking Order
- USACO 2019 February Contest, Bronze Problem 1. Sleepy Cow Herding
- USACO 2019 February Contest, Bronze Problem 1. Sleepy Cow Herding
- Analysis: USACO 2019 February Contest, Bronze Problem 1. Sleepy Cow Herding
- USACO 2019 January Contest, Bronze Problem 2. Sleepy Cow Sorting
- Analysis: USACO 2019 January Contest, Bronze Problem 2. Sleepy Cow Sorting
- USACO 2018 February Contest, Bronze Problem 3. Taming the Herd
- Analysis: USACO 2018 February Contest, Bronze Problem 3. Taming the Herd
- USACO 2017 US Open Contest, Bronze Problem 3. Modern Art
- Analysis: USACO 2017 US Open Contest, Bronze Problem 3. Modern Art
- USACO 2018 February Contest, Bronze Problem 2. Hoofball
- Analysis: USACO 2018 February Contest, Bronze Problem 2. Hoofball
- USACO 2023 US Open Contest, Bronze Problem 1. FEB
- Analysis:USACO 2023 US Open Contest, Bronze Problem 1. FEB
- USACO 2021 January Contest, Silver Problem 3. Spaced Out
- Analysis: USACO 2021 January Contest, Silver Problem 3. Spaced Out
Basic Graph Traversal
- Basic Graph Traversal
- 🟢 Complete BFS – USACO/Competitive Programming
- 🟢 Advanced topic: Dijkstra's Algorithm ( positive weights on edge/BFS)
- DFS
- Advanced topic: DFS Tricks & Techniques Cheat Sheet
- Advanced topic: Topological Sort Using DFS/BFS
- 🚀 DFS and BFS for USACO Bronze problems
- ✅ Things to Watch Out for in DFS (Bronze Level)
- DFS review
- BFS review
- 🧭 DFS vs BFS — Complete Comparison & Conversion Workbook
- Practice problems
- USACO 2019 December Contest, Bronze Problem 3. Livestock Lineup
- Analysis: USACO 2019 December Contest, Bronze Problem 3. Livestock Lineup
- USACO 2019 January Contest, Silver Problem 1. Grass Planting
- Analysis: USACO 2019 January Contest, Silver Problem 1. Grass Planting
- USACO 2019 February Contest, Bronze Problem 2. The Great Revegetation
- Analysis: USACO 2019 February Contest, Bronze Problem 2. The Great Revegetation
- USACO 2019 US Open Contest, Bronze Problem 2. Milk Factory
- Analysis: USACO 2019 US Open Contest, Bronze Problem 2. Milk Factory
- USACO 2020 February Contest, Bronze Problem 3. Swapity Swap
- Analysis: USACO 2020 February Contest, Bronze Problem 3. Swapity Swap
- USACO 2019 US Open Contest, Bronze Problem 3. Cow Evolution
- Analysis: USACO 2019 US Open Contest, Bronze Problem 3. Cow Evolution
- USACO 2018 US Open Contest, Bronze Problem 3. Family Tree
- Analysis: USACO 2018 US Open Contest, Bronze Problem 3. Family Tree
Recursion and Backtracking
- Basic Recursion and backtracking
- Two Main Recursive Strategies for Subset Problems
- DFS vs recursive/backtracking
- 🧠 Advanced topic: combinations and permutations
- Advanced: subset, permutation, and combination difference
- 🌟 Advanced topic: Handle duplicates in combination
- 🧠 Advanced topic: Handle duplicate in permutation
- Apple Division
- Analysis: Apple Division
- Advanced topic: find all Sudoku solutions
- Advanced topic: Subset deep dive: Backtracking + for loop, Choose/Not Choose difference
- Permutation: recursive
- Lexicographical Order
- Problem: Permutations Creating Strings
- Analysis: Creating Strings I
- Problem: Backtracking Chessboard and Queens
- Analysis: Solution - Chessboard & Queens
- Recursive and Backtracking Practice problems
- USACO 2023 January Contest, Bronze Problem 2. Air Cownditioning II
- Analysis: USACO 2023 January Contest, Bronze Problem 2. Air Cownditioning II
- USACO 2019 December Contest, Bronze Problem 3. Livestock Lineup
- Analysis: USACO 2019 December Contest, Bronze Problem 3. Livestock Lineup
- USACO 2018 December Contest, Bronze Problem 3. Back and Forth
- Analysis: USACO 2018 December Contest, Bronze Problem 3. Back and Forth
- CCC '08 S4 - Twenty-four
- Analysis: CCC '08 S4 - Twenty-four
- D. Three Logos
- Analysis: Codeforces 581D - Three Logos.
Rectangle Geometry
- rectangle geometry
- Practice problems
- USACO 2015 December Contest, Bronze Problem 1. Fence Painting
- USACO 2017 December Contest, Bronze Problem 1. Blocked Billboard
- Analysis: USACO 2017 December Contest, Bronze Problem 1. Blocked Billboard
- USACO 2016 December Contest, Bronze Problem 1. Square Pasture
- USACO 2018 January Contest, Bronze Problem 1. Blocked Billboard II
- Analysis: USACO 2018 January Contest, Bronze Problem 1. Blocked Billboard II
- CF square/rect
More Practice Problems
Documents
Course Overview
Welcome to USACO Bronze Accelerator – Core Algorithms & Problem Solving (Part 1 / Semester 1).
This is the first semester of our year-long USACO Bronze Accelerator program. Part 1 and Part 2 together form one complete curriculum designed to help students develop the problem-solving skills and core algorithms needed to approach USACO Bronze problems independently and build a foundation for the transition to Silver.
The program is divided into two semesters so students can develop their skills progressively without being overwhelmed by too many techniques at once.
Algorithms are tools. Problem solving is the goal.
At Comrite, students are not expected to simply memorize a long list of algorithms. Instead, we teach students to understand the problem first, develop a simple solution, identify what prevents it from working efficiently, and then learn the right technique to improve it.
This helps students make better use of their practice time and, more importantly, develop skills that transfer to new and unfamiliar problems.
🧠 The Comrite Problem-Solving Approach
For each problem, students practice a repeatable process:
Understand → Start Simple → Find the Bottleneck → Learn the Right Technique → Solve → Test → Generalize
Students learn to ask:
-
What is the problem really asking?
-
Can I solve it with a straightforward approach?
-
Why might that approach be too slow?
-
What information or structure can make it faster?
-
Which algorithm or data structure is actually useful here?
-
Can I apply the same idea to another problem?
The goal is to move students from:
“I know this algorithm.”
to:
“I know when and why to use this algorithm.”
Make Every Hour of Practice Count
Competitive programming takes practice, but more hours do not automatically mean better learning.
Comrite focuses on helping students spend their practice time productively:
-
Learn the highest-value techniques for the current level
-
Apply techniques immediately to real problems
-
Practice recognizing patterns instead of memorizing solutions
-
Use hints and feedback to get unstuck and learn from mistakes
-
Gradually develop the ability to solve unfamiliar problems independently
Our goal is not to maximize homework hours—it is to maximize learning and problem-solving progress from each hour of practice.
Complete Curriculum
Across Part 1 and Part 2, students will develop skills in:
-
Simulation – Modeling and simulating problems step by step
-
Brute Force & Search – Exhaustive search, systematic enumeration, and introductory binary search
-
Recursion – Breaking problems into smaller subproblems and exploring possibilities
-
Sorting – Built-in sorting, custom comparators, and practical applications
-
Graph Basics – Representing relationships and performing fundamental traversal
-
Greedy Algorithms – Recognizing situations where locally optimal choices lead to a solution
-
Geometry – Coordinates, grids, distance calculations, and geometric reasoning
-
Sets & Maps – Efficient storage, lookup, counting, and frequency tracking using STL
-
Ad Hoc Problem Solving – Developing logical reasoning when no single standard algorithm applies
-
Debugging & Edge Cases – Finding logical errors and handling unusual cases
-
Complexity & Optimization – Using constraints to evaluate solutions and identify bottlenecks
The emphasis throughout the curriculum is not simply learning these techniques, but learning how to recognize when they are useful.
Course Features
🏆 Authentic USACO Practice
Students work with real USACO Bronze problems and learn how to analyze them systematically.
🧠 Guided Problem Solving
Rather than immediately giving students an algorithm, instructors guide them through the reasoning process:
Problem → Simple Idea → Challenge → Better Approach → Algorithm
💻 Hands-On Coding
Students apply each concept through coding exercises and progressively more challenging problems.
🔍 Learn From Mistakes
Debugging, failed approaches, edge cases, and incorrect solutions are treated as part of the learning process—not simply something to avoid.
💡 Hint-Based Support
When students get stuck, hints help them move forward without immediately revealing the complete solution. This encourages independent thinking.
📈 Progressive Difficulty
Problems become more challenging as students develop their skills, moving from foundational techniques toward more complex Bronze-level problems.
🤖 AI-Assisted Learning
Students have access to an AI Tutor for additional explanations, debugging help, and practice support—while the course emphasizes understanding and independent problem solving rather than simply copying AI-generated solutions.
Ideal For
-
Students with basic C++, Java, or Python programming experience
-
Students beginning competitive programming
-
Students preparing for USACO Bronze
-
Students who want to become stronger independent problem solvers
-
Middle and high school students ready to move beyond basic programming
C++ is recommended for students following the traditional USACO pathway.
Duration
-
Part 1: 12–16 weeks
-
1 session per week
-
Approximately 1–2 hours per session
The two semesters are designed as a single progression, with Part 1 establishing the foundation and Part 2 developing more advanced Bronze-level problem-solving skills.
Prerequisites
Students should be comfortable with basic programming concepts such as:
-
Variables
-
Loops
-
Arrays
-
Functions
C++, Java, or Python experience is acceptable.
C++ is recommended for students planning to continue into the traditional USACO C++ pathway.
Materials Included
-
Video lessons
-
Annotated problem walkthroughs
-
Weekly practice and challenge problems
-
Code examples and solutions
-
Instructor hints and feedback
-
AI Tutor at coding.comrite.com
Outcome
By completing both Part 1 and Part 2, students will have covered the complete USACO Bronze Accelerator curriculum and developed the ability to:
-
Analyze unfamiliar Bronze-level problems
-
Break problems into manageable steps
-
Start with simple solutions before optimizing
-
Recognize common problem-solving patterns
-
Select appropriate algorithms and data structures
-
Write, test, and debug solutions independently
-
Understand why a solution works—not just reproduce it
-
Approach USACO Bronze problems with greater confidence and efficiency
Most importantly, students begin developing a transferable skill:
Instead of asking “Which algorithm should I memorize?” they learn to ask “How can I solve this problem?”
Part 1 builds the foundation. Part 2 takes students further. Together, they form the complete USACO Bronze Accelerator program.
Note: This curriculum includes both Part 1 and Part 2 content
Want to submit a review? Login