Welcome to this GitHub repository, your one-stop resource for leveling up your competitive programming skills! Whether you're just starting out or aiming to reach the top of the leaderboard, this collection of materials is designed to help you sharpen your problem-solving abilities, master key algorithms, and ace your competitive programming contests.
Explore a wide range of topics, from foundational concepts to advanced techniques, and find resources that fit your skill level. Whether you're practicing for an upcoming contest or looking to deepen your understanding of data structures, we've got you covered.
The following topics are covered in-depth to help you build expertise at every level:
- Beginner to Advanced Training Topics – A comprehensive list of topics organized by difficulty.
- C++ STL – Master the Standard Template Library to boost your coding efficiency.
- Graph Theory – Understand graphs, shortest paths, and traversal algorithms.
- Data Structures – Learn essential data structures like arrays, heaps, and trees.
- Dynamic Programming – Master problem-solving with dynamic programming techniques.
- String Algorithms – Solve problems involving pattern matching, hashing, and more.
- Geometry – Dive into computational geometry with practical algorithms.
- Number Theory – Explore prime numbers, divisibility, modular arithmetic, and more.
- Combinatorics – Learn counting techniques, permutations, and combinations.
- Game Theory – Analyze competitive strategies and decision-making.
- Mathematics – Deepen your math knowledge for solving complex CP problems.
- Techniques – Advanced techniques to solve difficult problems quickly.
- Tips and Tricks – Practical tips to optimize your competitive programming practice.
- Miscellaneous – Additional resources and topics to explore.
- Data Structures & Algorithms (Vietnamese Version) – Comprehensive textbooks (Vol. 1, 2, 3) in Vietnamese.
- Generate Test Cases and Check Solutions – Learn how to automate test case generation and validate solutions.
- Subtask Coding Template – Use coding templates to solve subtask-based problems efficiently.
Enhance your learning with these handpicked external resources:
- Weird C++ Tricks (Vietnamese Blog) – Explore some interesting and lesser-known C++ tricks.
- VNOI Wiki – A Vietnamese online judge community with tons of useful resources.
- USACO Training – A complete training program for the USA Computing Olympiad (USACO).
- USACO Guide – A step-by-step guide to help you prepare for USACO contests.
- Tutorial: From Rating 1000 to 2400+ – A blog post by E869120, detailing a practical approach to improving your CP rating on Codeforces.
Start your journey today! Whether you’re a beginner or an experienced competitive programmer, these resources will help you improve your skills, solve tougher problems, and get ready for your next big contest.