cp-resources
This repo contains a collection of various helpful resources including code, links to sites, tutorials, problemsets etc.
If you want to add something to the repo, just open an issue or hit a PR.
I will be updating it as I find more stuff to add in...stay tuned!
Popular Competitve Programming Platforms
- Codeforces: Most Popular and my favourite.
- Codechef: Nice one, except for long challenges.
- Hackerrank: Best for beginners and clean.
- Hackerearth: Hiring Challenges!
- Atcoder: Great Problems and Contests.
- Topcoder: For more than just Competitive Programming.
- Leetcode: Best for Interview prep. Period.
- Codesignal: If you are done with all of the above ;)
- Codewars: If you're done with Codesignal!
- Coderbyte: If you're done with Codewars!
Great Online Judges and Problemsets
- CSES Problemset: A collection of 200 coding problems on almost all major topics.
- Sphere Online Judge: A solid online judge for solving brain-draining problems.
- Codezinger: TBH, haven't tried it, see for yourself!
- Kenkoooo Atcoder Problemset: Categorised set of AtCoder problems by topic and difficulty.
- Codeforces Ladders: Categorised Codeforces problems by Problem No.(A,B,C,D,E) in div.2.
Data Structures and Algorithms
- MITOCW 6.006: Intro to Algorithms Course by Erik Demaine and Srini Devadas, 2011.
- MITOCW 6.046J: Design and Analysis of Algorithms, 2015.
- GeeksForGeeks: Best online resource for all algorithmic quickies and queries.
- Quick DSA Crash-Course: For people in a hurry! P.S. No need to be!
- Udacity's C++ Free Course: (Arguably) the best Language for CP.
Books/PDFs
List of important books and other online resources for algo and other stuff.TODO:Update
- Competitive Programmer's Handbook
- Guide to Codeforces rating Climb
- CLRS - Algorithm Bible
- Algorithms - Jeff Erickson
- Nameless Book on CP
DS & Algo Topics
This section contains an organised set of resources, divided into topics, and categorised by the level of complexity(actual, not computational! Lol.)
Beginner
Topics for people getting started with Competitive Programming.
Intermediate
Topics for people with some experience with CP, but a desire to go above and beyond.
Advanced
Topics related to highly important concepts and algorithms that are used for solving the most difficult of problems.
*Happy Learning and may the source be with you!