Stop wasting time searching for problems and tutorials. The USACO Guide provides a comprehensive, organized roadmap carefully designed and crafted for USACO contestants – available to everyone, for free.
|video explanation + problems for DSU|
Disjoint Data Sets
|both optimizations, diagrams|
11.1 - Disjoint Sets
|both optimizations, no diagrams|
15.2 - Union-Find
|small to large, diagrams|
Learn new topics from a vetted list of high-quality resources. If one resource doesn't click, look at another!
Closing the Farm
2016 - Park
Practice each topic with extensive problemsets and solutions covering a wide range of difficulties.
Use our progress-tracking tools to track your progress in the Guide and stay motivated.
Get help from other community members in the USACO Forum.View Forum →
This guide is written by top USACO contestants, including two-time IOI winner and USACO Problemsetter Benjamin Qi.
Here are some of our other projects you might find useful!
Learn USACO through affordable, high-quality classes with a curriculum designed and developed by past USACO Finalists.
A realtime collaborative online IDE designed for competitive programming and USACO.
A Learning Management System fully integrated with the USACO Guide. Perfect for clubs or group study sessions.
Join our competitive programming club network to get access to exclusive club curriculum and resources!
Participate in high-quality programming contests targeted towards pre-college students!
Access workshops providing everything you need to know about USACO.
The Competitive Programming Initiative is a student-run organization dedicated to promoting competitive programming. Join us in our mission, and earn PVSA volunteer hours and leadership positions along the way!
We're a 501(c)3 nonprofit organization — all donations are tax deductible. Since our inception in September 2020, we've impacted well over 16,000 students across our various initiatives.
No, USACO does not have an official syllabus. This guide merely lists topics that have historically appeared in USACO contests; it makes no guarantees about the topics in future USACO contests.
If you encounter an issue while using the guide (website bug, typo, broken link, unclear explanation, etc), use the "Contact Us" button. Alternatively, email us at firstname.lastname@example.org.
Check out the Competitive Programming Initiative!
Of course! While we structure our content around USACO, feel free to use this guide even if you don't do USACO. You will still learn a lot from it!
If you get stuck, head over to the USACO Forum for help.
To learn more about contributing, please visit this page. We appreciate any and all contributions!
Yes! Check out our Github Repository.
Comprised of USACO Finalists and top USACO competitors, our team is committed to increasing participation in competitive programming.