🔥 4-Month Roadmap to Become a Competitive Programmer
Each week, focus on DSA (Data Structures & Algorithms) + Problem Solving.
🔴 Month 1 – Master the Basics (Easy)
🔹 Week 1: Learn Core Concepts ✅ Arrays, Strings, Loops, Recursion
✅ STL (Vectors, Maps, Sets, Pairs, Sorting)
✅ Solve 20 Easy Problems on Codeforces or LeetCode
🔹 Week 2: Sorting & Searching ✅ Bubble Sort, Selection Sort, Merge Sort, Quick Sort
✅ Binary Search, Two Pointers, Sliding Window
✅ Solve 30 Easy-Medium Problems
🔹 Week 3: Recursion & Backtracking ✅ Subsets, Permutations, N-Queens
✅ Solve 10 Backtracking Problems
🔹 Week 4: Basic Graphs & Greedy ✅ BFS, DFS, Greedy Algorithms (Activity Selection,
Kruskal’s Algorithm)
✅ Solve 15 Problems on Graphs & Greedy
📌 Recommended Problems: A2OJ Ladder
🟠 Month 2 – Intermediate Level
🔹 Week 5: Dynamic Programming Basics (DP) ✅ Memoization vs. Tabulation
✅ Fibonacci, Coin Change, Knapsack, LIS
✅ Solve 10 DP Problems
🔹 Week 6: Advanced Sorting & Searching ✅ Merge Sort, Quick Sort, Binary Search on
Answer
✅ Solve 15 Sorting & Searching Problems
🔹 Week 7: Advanced Graphs (Dijkstra, Floyd-Warshall) ✅ Dijkstra’s Algorithm, MST
(Minimum Spanning Tree)
✅ Solve 15 Graph Problems
🔹 Week 8: Trees & Heaps ✅ Binary Trees, Binary Search Trees (BST), Priority Queue
✅ Solve 15 Tree & Heap Problems
📌 Recommended Contests: Codeforces Div 3, AtCoder Beginner
🟢 Month 3 – Advanced Topics
🔹 Week 9: Bit Manipulation ✅ XOR tricks, Bitwise operations
✅ Solve 10 Bit Manipulation Problems
🔹 Week 10: More DP & Segment Trees ✅ DP on Trees, Bitmask DP, Segment Trees
✅ Solve 10 Advanced DP Problems
🔹 Week 11: Advanced Graphs (Flows, Bridges, Articulation Points) ✅ Topological
Sorting, Bellman-Ford
✅ Solve 10 Advanced Graph Problems
🔹 Week 12: Practice Harder Problems ✅ Solve 20 Hard Problems from Codeforces or
AtCoder
📌 Recommended Contests: Participate in Codeforces Div 2
🏆 Month 4 – Become a Pro (Hard Level)
🔹 Week 13: Advanced Number Theory ✅ Modular Exponentiation, GCD, LCM, Sieve of
Eratosthenes
✅ Solve 10 Number Theory Problems
🔹 Week 14: String Algorithms ✅ KMP, Rabin-Karp, Z Algorithm
✅ Solve 10 String Problems
🔹 Week 15: Game Theory & Combinatorics ✅ Nim Game, Grundy Numbers
✅ Solve 10 Game Theory Problems
🔹 Week 16: Virtual Contests & Speed Training ✅ Participate in 5 Contests
(Codeforces, AtCoder, CodeChef)
✅ Try solving 2 Hard Problems in under 1 hour
📌 Recommended Contests: Codeforces Div 1/2, AtCoder Regular
🔹 Where to Practice?
✅ Beginner: LeetCode Easy-Medium
✅ Intermediate: Codeforces (Div 3 & 2)
✅ Advanced: AtCoder Regular, Codeforces Div 1
✅ For DP: CSES Problem Set
🔥 After 4 months, you'll be solving 1500+ rated problems on Codeforces! 🚀🔥