Skip to content

rajathpi/cp-workshop

Repository files navigation

CP Workshop Logo

CP Workshop

A curated resource guide for Competitive Programming & Interview Preparation


🧩 What is Competitive Programming?

Competitive programming is solving well-defined problems by writing computer programs under specified limits.


💼 Interview Preparation

Platform Best For
LeetCode Interview prep (highly recommended)
CodeChef Mixed difficulty problems

🏆 Competitive Programming Platforms

  1. Codeforces
  2. AtCoder
  3. CSES Problem Set
  4. USACO
  5. Google Kickstart Archive
  6. Google Code Jam Archive
  7. Project Euler
  8. Timus OJ
  9. DMOJ
  10. Toph
  11. CS Academy
  12. UVa Online Judge
  13. SPOJ
  14. OJ.uz

📚 General Resources


📝 Problem Sets

  1. Problem Set 1
  2. Problem Set 2
  3. Google Interview Problems
  4. Top 60 Must-Solve Questions

🛠️ C++ STL

Reference Material

  1. STL Table of Contents
  2. GeeksforGeeks – STL
  3. TopCoder STL Part 1
  4. TopCoder STL Part 2 – Advanced
  5. Vectors▶ Run Code
  6. Set▶ Run Code

Practice Problems


⚡ Dynamic Programming

Articles & Tutorials

  1. TopCoder – DP from Novice to Advanced
  2. DP Novice to Advanced (Mirror)
  3. CodeChef – DSA Prep (Foundation)
  4. Non-Trivial DP Tricks
  5. Everything About DP
  6. Digit DP 1
  7. Digit DP Solutions
  8. Digit DP for Product Digits
  9. Digit DP Tutorial (Bangla)
  10. Digit DP – HackerRank
  11. Digit DP Problem Solutions
  12. DP on Trees
  13. DP on Trees – Problem 3
  14. DP on Trees (CommonLounge)
  15. A Tricky DP Problem on Trees
  16. Bitmask DP
  17. SOS DP
  18. Sum Over Subsets – GFG
  19. Bitmask DP → SOS DP Buildup
  20. DP Over Subsets and Graph Paths
  21. Coin Problems
  22. Nice DP Problem Editorial
  23. Subsequence Length 3 Solution
  24. Smallest Word Problem Tutorial
  25. CodeChef DP Tutorials
  26. How to Start Solving DP Problems (Quora)
  27. Introduction to DP – HackerEarth
  28. A Brief Introduction to DP (PDF)
  29. DP Tutorials – VPlanet
  30. DP Strategy (Quora)

YouTube Tutorials

  1. DP Tutorial #1 – Errichto
  2. DP Tutorial #2 – Errichto
  3. DP Tutorial #3 – Errichto
  4. LeetCode DP – Errichto
  5. DP Playlist
  6. DP Playlist – gkcs
  7. DP Playlist 2
  8. DP Playlist 3
  9. DP Playlist 4
  10. DP Playlist 5
  11. DP Playlist 6
  12. DP Playlist 7
  13. AtCoder DP Contest Stream
  14. VPlanet DP Tutorials
  15. Algorithms Live

Practice Problems

  1. AtCoder DP Contest
  2. Marathon DP Contest (cloned)
  3. VPlanet DP Contests
  4. A2OJ DP Problems
  5. DP for Beginners – LeetCode
  6. DP on Strings – LeetCode
  7. DP Max/Min – LeetCode
  8. DP Merging Intervals – LeetCode
  9. DP Distinct Ways – LeetCode

📖 Books

  1. Competitive Programmer's Handbook – Antti Laaksonen (Free PDF)
  2. Advanced Competitive Programming – 25 Books Collection

🧭 How to Practice


📺 YouTube Channels

Channel Focus
Computerphile CS concepts
Errichto CP tutorials
Rachit Jain CP & interviews
William Lin CP
Kevin Naughton Jr. LeetCode
mycodeschool DS & Algorithms
Nick White LeetCode solutions
SecondThread CP (Java)
freeCodeCamp Learn to code