Do you like competitive programming but get stuck because of less knowledge of topics? Do not skip any step in your competitive programming journey. Excel every important topic in Competitive Programming, and achieve the score of your dream with our Competitive Programming roadmap. This Competitive Programming guided path is your ultimate guide for practicing and testing your problem-solving skills.
Pre-requisites: Basic Knowledge Of Data Structures And Algorithms
Module 1
Language Tools
3 Notes
Asked in
0/0
Language Tools
View
Module 2
Complexity Analysis
2 Notes & 15 Problems
Asked in
0/150
Complexity Analysis
View
MCQs
0/150
Attempt
Module 3
Recursion & Backtracking
4 Notes & 20 Problems
Asked in
0/1080
Recursion
0/240
Attempt
Divide & Conquer
View
Backtracking
View
Popular Problems
0/320
Attempt
Mixed Problems
0/520
Attempt
Recursion & Backtracking - Practice Problems
View
Module 4
Sorting
8 Notes & 7 Problems
Asked in
0/360
Sorting Notes
View
Problems Based on Sorting
0/360
Attempt
Sorting - Practice Problems
View
Module 5
Bit Manipulation
3 Notes & 21 Problems
Asked in
0/920
Bit Manipulation
0/200
Attempt
Application Based Problems
0/200
Attempt
Mixed Problems
0/520
Attempt
Bit Manipulation - Practice Problems
View
Module 6
Greedy
2 Notes & 15 Problems
Asked in
0/880
Greedy
View
Minimize/Maximize Problems
0/240
Attempt
Sorting based Problems
0/80
Attempt
Standard Problems
0/200
Attempt
Mixed Problems
0/360
Attempt
Greedy - Practice Problems
View
Module 7
Dynamic Programming
2 Notes & 43 Problems
Asked in
0/3680
Dynamic Programming
View
DP with Arrays Based Problems
0/440
Attempt
DP with Strings Based Problems
0/480
Attempt
DP with Maths Based Problems
0/400
Attempt
DP with Trees Based Problems
0/240
Attempt
Breaking and Partitioning Based Problems
0/440
Attempt
Counting Based Problems
0/440
Attempt
Standard Problems
0/360
Attempt
Mixed Problems
0/880
Attempt
Dynamic Programming - Practice Problems
View
Module 8
Number Theory 1
12 Notes & 9 Problems
Asked in
0/840
Prime Numbers
0/240
Attempt
GCD
0/240
Attempt
Extended Euclid Algorithm
0/80
Attempt
Modular Arithmetic
0/280
Attempt
Number Theory 1 - Practice Problems
View
Module 9
Number Theory 2
8 Notes & 8 Problems
Asked in
0/760
Modular Exponentiation
0/40
Attempt
Fermat's Little Theorem
0/80
Attempt
Wilson's Theorem
0/80
Attempt
Chinese Remainder Theorem
0/120
Attempt
Euler's Totient Function
0/120
Attempt
Matrix Exponentiation
0/320
Attempt
Number Theory 2 - Practice Problems
View
Module 10
Range Query
7 Notes & 4 Problems
Asked in
0/480
Segment Trees
0/280
Attempt
Fenwick Trees/BIT
0/200
Attempt
Range Query - Practice Problems
View
Module 11
Graphs
11 Notes & 29 Problems
Asked in
0/2520
Introduction To Graphs
View
Graph Traversals
0/560
Attempt
Minimum Spanning Trees
View
Shortest/Minimum path algorithms
View
Topological Sort
View
Problems related to graph algorithms
0/640
Attempt
Problems related to graphs in matrix
0/480
Attempt
Mixed Problems
0/840
Attempt
Graphs - Practice Problems
View
Module 12
Advanced Graphs
17 Notes & 15 Problems
Asked in
0/1720
Connected Components
0/280
Attempt
Bipartite Graphs
0/160
Attempt
Articulation Points & Bridges
0/280
Attempt
Biconnected Components
0/120
Attempt
Bridge Trees
0/240
Attempt
Flow Algorithms
0/400
Attempt
Maximum Bipartite Matching
0/120
Attempt
Kirchoff's Theorem
0/120
Attempt
Advanced Graphs - Practice Problems
View
Module 13
DP Extra Techniques
10 Notes & 7 Problems
Asked in
0/640
DP with Bitmasking
0/240
Attempt
Digit DP
0/200
Attempt
DP with Trees
0/200
Attempt
DP Extra Techniques - Practice Problems
View
Module 14
DP & Graphs
4 Notes & 6 Problems
Asked in
0/560
Introduction
View
Total number of paths in DAG
View
Kth Node in a Successor Graph
View
DP & Graphs - Practice Problems
View
Minimum steps to reach target by a Knight
0/80
Attempt
Number of squareful arrays
0/120
Attempt
Saving Money
0/80
Attempt
Travelling Salesman Problem
0/120
Attempt
Max Path Value
0/80
Attempt
Longest Path In Directed Graph
0/80
Attempt
Module 15
String Algorithms
12 Notes & 8 Problems
Asked in
0/800
String Hashing
0/200
Attempt
Pattern Matching
0/200
Attempt
Aho-Corasick Algorithm
0/200
Attempt
Longest Palindromic Substring
0/40
Attempt
Manacher's Algorithm
0/160
Attempt
String Algorithms - Practice Problems
View
Module 16
Miscellaneous Topics
16 Notes & 10 Problems
Asked in
0/1320
Square Root Decomposition
0/240
Attempt
Fast Fourier Transform
0/320
Attempt
Heavy-Light Decomposition
0/400
Attempt
Game Theory
0/160
Attempt
Computational Geometry
0/200
Attempt
Miscellaneous Topics - Practice Problems
View
Score 75% (Without penalty)
Frequently Asked Questions
What is competitive Programming?
Competitive Programming is a mental sport where the contestants called sport programmers have to solve coding problems using maths, data structures and algorithms with various restrictions like memory limit, execution time within a set time limit. They are judged on the basis of output produced, execution time and program size.
What do competitive programmers do?
Competitive Programmers show off their talent by taking part in various competitions/challenges/contests held by websites like Codeforces, Codechef, Codestudio, Hackerrank, TopCoder etc. where they solve a variety of coding problems with predefined specifications (memory size, execution time etc.) within the set time limit.
Which language is best for competitive programming?
The top 5 languages for competitive coding are C++, Java, Python, Ruby and Kotlin. C++ and Java are the most popular ones with C++ being famous for its STL and Macros and Java for its Java Libraries.
Is competitive programming hard?
Competitive programming is hard if one doesn't work on improving their problem solving skillset, thinking of various approaches for a problem and learning new techniques through every new challenges/contests. So practising, learning new approaches, retaining them and participating more and more in new contests/challenges makes it less hard.
Where do I start competitive programming?
One can start competitive programming by building a base in Data Structure and Algorithms and practising questions. Moving further , they can start taking part in coding challenges/contests on platforms like Codeforces, Codechef, Codestudio, SPOJ, Hackerrank, TopCoder etc.