Welcome to the ultimate collection of resources for competitive programming enthusiasts! Whether you're a novice or a seasoned coder, this repository is designed to serve as your go-to guide to sharpen your skills and conquer competitive programming challenges with confidence.
-
Dive into the World of Competitive Programming
- Online Judges
- Thriving Communities
- Educational Books
- Insightful Video Channels
- Online Learning Platforms
- Challenge Yourself in Contests
- Practice Platforms for Mastery
- Algorithm Visualizations for Understanding
- Insightful Blogs for Learning
- GitHub Repositories for Collaborative Learning
- Programming Language Documentation for Reference
- Virtual Contests to Polish Your Skills
- Platforms for Interview Preparation
- Tools for Competitive Programming
- Data Structures and Algorithms Visualizations
- Gems from the Blogosphere
Feel free to navigate to the desired section using the provided links for an easy browsing experience!
Certainly! Here are the short notes for each resource with the provided links:
- Codeforces: Popular platform for competitive programming contests and practice.
- AtCoder: Hosts contests and provides problem archives for practice.
- TopCoder: Offers competitive programming challenges and algorithmic problems.
- LeetCode: Platform for coding interviews and competitive programming practice.
- Codeforces Forums: Active community forums for discussion on contests and problems.
- TopCoder Forums: Forums for discussing challenges and algorithmic problems on TopCoder.
- r/competitiveprogramming: Subreddit for discussions, questions, and resources related to competitive programming.
- "Competitive Programming" by Steven Halim, Felix Halim: Comprehensive guide covering various topics in competitive programming.
- "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein: Classic textbook covering algorithms and data structures.
- The Competitive Programmer's Handbook: Online resource covering essential topics in competitive programming.
- Elementary Number Theory - David Burton: Introduction to number theory relevant for competitive programming.
- USACO Book: Resource for participants of the USA Computing Olympiad.
- William Lin: YouTube channel featuring educational content and contest solutions.
- Errichto: YouTube channel offering educational lectures and contest solutions.
- ICPC Streams: Streams covering ICPC competitions and problem-solving strategies.
- SecondThread: YouTube channel providing solutions to contests and algorithm explanations.
- Stable Sort: YouTube channel discussing algorithms and coding interview preparations.
- Coursera: Platform offering online courses from universities and institutions.
- edX: Online learning platform offering courses from universities and organizations.
- Udemy: Marketplace for online courses covering a wide range of topics.
- Codeforces: Hosts regular contests and provides a platform for practice.
- AtCoder: Offers contests and problem archives for practice.
- Google Kickstart: Google's coding competition platform with regular contests.
- CodeChef: Platform hosting contests and providing problem archives.
- TopCoder: Platform offering contests and algorithmic challenges.
- Google Codejam: Competitors work through online algorithmic puzzles to earn a spot at the World Finals.
- Facebook Hackercup: Apply problem-solving and algorithmic coding skills to advance through online rounds.
- SnackDown: Annual programming competition by CodeChef.
- Google Hashcode: Hash Code is a team programming competition by Google.
- HackerRank: Platform offering coding challenges and practice problems.
- CodeChef: Platform hosting contests and providing practice problems.
- SPOJ: Archive of programming problems for practice and contests.
- USACO Guide: Resource offering curated content and practice problems for USACO.
- CP-Algorithms: Website offering tutorials and problem sets for various topics.
- CSES problemset: Topic-wise comprehensive high-quality problem set for learning algorithmic programming.
- VJudge Group: Public problem sets and contests made by the IIIT-H Programming Club.
- Visualgo.net: Interactive platform offering visualizations for various algorithms.
- VisuAlgo.net: Visualization tool providing interactive demonstrations of algorithms.
- Algomation: Website offering animated visualizations of algorithms for better understanding.
- TopCoder Tutorials: Tutorials covering various topics in competitive programming.
- GeeksforGeeks: Website offering articles, tutorials, and interview preparation resources.
- Codeforces Blog Collection: Compilation of useful blogs from the Codeforces platform.
- Codeforces Editorial Collections: Compilation of useful editorials which will help programmers to improve skills from the Codeforces platform.
- Competitive Programming: GitHub repository offering resources and community-driven collaboration.
- Python Documentation: Official documentation for the Python programming language.
- C++ Documentation: Official reference for C++, including all supported library features, functions, data structures.
- Codeforces Gym: Virtual contests available on Codeforces.
- AtCoder Virtual Contest: Participate in virtual contests on AtCoder.
- LeetCode: Platform offering coding interviews and practice problems.
- InterviewBit: Interview preparation platform with coding challenges and mock interviews.
- CHelper: Plugin for IntelliJ IDEA tailored for competitive programming.
- Templates: Templates for various IDEs to aid in competitive programming.
- Visualgo.net: Interactive platform offering visualizations for various algorithms.
- Algomation: Website offering animated visualizations of algorithms for better understanding.
Explore the treasure trove of wisdom and insights shared by seasoned programmers and educators in the blogosphere. Here are some handpicked gems to enrich your understanding and mastery of competitive programming:
-
Gym of good problems for those who are new to CP - Delve into a curated selection of problems tailored for beginners in the world of competitive programming.
-
DP Tutorial and Problem List - A comprehensive tutorial accompanied by a curated list of dynamic programming problems to hone your skills.
-
Dynamic Programming: From Novice to Advanced - Journey through the realm of dynamic programming, from its fundamental concepts to advanced techniques, in this insightful article series.
-
Demystifying Comparators in C++ - Gain clarity on comparators in C++, exploring strict weak ordering and its implications in sorting algorithms.
-
The DFS tree and its applications: how I found out I really didn't understand bridges - Dive deep into the DFS tree and its applications, unraveling the mysteries of bridges and their significance.
-
Unlocking Non-trivial DP Tricks and Techniques - Discover advanced dynamic programming tricks and techniques to tackle complex problems with elegance and efficiency.
-
Things I don't know - Explore a candid reflection on the vast expanse of knowledge in competitive programming, embracing the journey of continuous learning.
-
Exploring Problem Topics - Navigate through a curated collection of problem topics, ranging from graph theory to dynamic programming, to enhance your problem-solving skills.
-
Unlocking CSES Problemset Editorials - Access insightful editorials for problems from the CSES problemset, providing in-depth explanations and solutions.
-
Insights into Reaching the World Finals - Gain valuable insights and strategies from Tanuj Khattar on what it takes to reach the ACM-ICPC World Finals.
-
The Ultimate Topic List(with Tutorials, Problems, and Templates
And if you're hungry for more, explore the comprehensive compilation of insightful blogs ever published on Codeforces: A Treasury of Codeforces Blogs.
We extend our heartfelt gratitude to the IIIT-H Programming Club and ANCC IIT Delhi for their invaluable contribution to the competitive programming community. The resources curated in this repository have been enriched by drawing inspiration from their extensive collections. We sincerely thank them for their dedication and efforts in fostering learning and growth among aspiring programmers.
Special thanks to:
-
IIIT-H Programming Club: For their exceptional dedication to curating high-quality problem sets and contests on platforms like VJudge, enriching the competitive programming ecosystem.
-
ANCC IIT Delhi: For their remarkable efforts in compiling and sharing resources that have served as a guiding light for countless aspiring programmers in their journey towards mastery in competitive programming.
Their commitment to nurturing talent and fostering a culture of collaboration and learning is truly commendable, and we are grateful for the opportunity to benefit from their expertise and resources.
This repository is an open-source initiative! If you have any suggestions or would like
to add more resources, feel free to submit a pull request.