Start Competitive Programming!: Ace the USACO Bronze Competition
Minimum price
Suggested price

Start Competitive Programming!: Ace the USACO Bronze Competition

About the Book

2024 update!

OK, so you want to do some competitive programming.

Maybe you've heard that competitive programming is great interview prep for the coding interview.

Or that it can help you learn to be a better programmer.

Or that it can help you learn algorithms to supercharge your code.

Or that competitive programming is fun.

All true! (Well, we hope it's fun :-) )

If you want to get started with competitive programming, look no further. Inside, you'll find:

-Expert advice from the authors. Dr. Baharav (that's Coach B in the book :-) ) is a competitive programming coach. Dr. Zingaro is the author of several bestselling competitive programming books.

-Advice for how to categorize a problem before trying to solve it. Why categorize? Because then you know what kind of problem it is and what solution techniques to try! Modelling problems, search problems, optimization problems, geometry problems (don't run away... NO PROOFS, we promise!), string problems, ad hoc problems -- we've got them.

-Communication between a coach and their team. Like what a real coach would do!

-C++ code for all problems in the book.

-Curated, categorized selections of practice problems, with hints and full C++ code. Python code also provided!

Stop spending time figuring out what to learn next, getting confused by cryptic code, or circling around many different websites. Our no-nonsense guide shows you how to navigate, from "never tried competitive programming before" all the way to "BOOM, passed Bronze!"

Wanna participate in Advent of Code? Codeforces? Leetcode? We focus on USA Computing Olympiad (USACO) Bronze level for this book, but what you learn applies to other competitive programming settings as well.

  • Share this book

  • Categories

    • C and C++
    • Computers and Programming
    • Computer Science
  • Feedback

    You must own a copy of this Book to access the forums.

    Email the Author(s)

About the Authors

Zachi Baharav
Zachi Baharav

Dr. Zachi Baharav holds a Ph.D. in Electrical Engineering from the Technion, Israel Institute of Technology.

After more than 20 years in the hi-tech industry and academia, I retired to dedicate my time to the next generation. I am now coaching high school students in Math and Computer Science.

Daniel Zingaro
Daniel Zingaro

Dr. Daniel Zingaro is an associate teaching professor of computer science and award-winning teacher at the University of Toronto. His main area of research is computer science education, where he studies how students learn computer science material.

He may have a book obsession. He has written

Learn AI-assisted Python Programming with GitHub Copilot and ChatGPT (with Leo Porter, Manning, 2024). Learn programming in the generative AI era!

Algorithmic Thinking 2/e (No Starch Press, 2024). Learn hash tables, recursion, dynamic programming, trees, graphs, and all kinds of other awesome algorithms and data structures stuff... competitive programming examples!

Learn to Code by Solving Problems (No Starch Press, 2021). Learn programming from scratch while solving competitive programming puzzles. Class tested and refined with hundreds of real students.

Table of Contents

    • Letter to the student
    • Letter to the parent
    • Letter to the trained professional
    • Acknowledgments
    Part I. Preliminaries
    • Chapter 1. USACO Bronze
      • 1.1. USACO Bronze FAQ
      • 1.2. Solving and Submitting a USACO Problem
      • 1.3. How to Work With This Book
      • 1.4. Summary
    • Chapter 2. Solving and Coding: Competition Specifics
      • 2.1. Reading and Analyzing a USACO Problem
      • 2.2. Coding Your Algorithm
      • 2.3. Debugging
      • 2.4. Using a Solution
      • 2.5. Summary
    • Chapter 3. Complexity Analysis
      • 3.1. Big O Notation
      • 3.2. Time complexity
      • 3.3. Space complexity
      • 3.4. Summary
    Part II. Core Techniques
    • Chapter 4. Modeling and Simulation
      • 4.1. Modeling a Dynamic Process
      • 4.2. Modeling a Static Process
      • 4.3. Modeling a Periodic Process
      • 4.4. Simulation Acceleration
      • 4.5. Summary
    • Chapter 5. Searching and Optimization
      • 5.1. Exhaustive Search
      • 5.2. Search Domain
      • 5.3. Domain Enumeration
      • 5.4. Search Acceleration
      • 5.5. Greedy Algorithms
      • 5.6. Summary
    • Chapter 6. Geometry Concepts
      • 6.1. One Dimension: Lines
      • 6.2. Two Dimensions: Rectangles
      • 6.3. Beyond Ninety Degrees
      • 6.4. Summary
    • Chapter 7. Strings
      • 7.1. Strings as Sequences of Characters
      • 7.2. Strings as Words
      • 7.3. Strings as Objects
      • 7.4. Summary
    • Chapter 8. Ad Hoc Problems and Advanced Techniques
      • 8.1. The Forward-Backward Technique
      • 8.2. Focusing on Significant Events
      • 8.3. Trees
      • 8.4. Dictionaries and Dynamic Arrays
      • 8.5. Summary
    Part III. Competition Day and Beyond
    • Chapter 9. Competition Day
      • 9.1. A Week Before
      • 9.2. The Competition
      • 9.3. Post Competition
      • 9.4. Summary
    • Chapter 10. Beyond USACO Bronze
      • 10.1. Silver and Beyond
      • 10.2. Solving your first USACO Silver Problem
      • 10.3. Summary
    Part IV. Appendix
    • Appendix A. List of All USACO Bronze Problems
      • USACO problems
      • Codeforces problems
      • CSES Problems
    • Appendix B. Practice Beyond USACO
      • B.1. Online Guides and Live Coaching
      • B.2. Online Practicing and Competing
      • B.3. BOOKS

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub