Topics

20

Duration

40 Weeks

Progress

0/20

Learning Progress0%
Competitive Programming Roadmap

Dynamic Programming

Learning Path

Follow these concepts in order to master this topic.

1
Introduction to Dynamic Programming
2
When to Use Dynamic Programming
3
Overlapping Subproblems
4
Optimal Substructure
5
Recursion Review
6
Memoization
7
Tabulation
8
Top-Down vs Bottom-Up
9
State Definition
10
State Transition
11
Base Cases
12
Space Optimization
13
1D Dynamic Programming
14
2D Dynamic Programming
15
Fibonacci DP
16
Climbing Stairs
17
House Robber
18
Coin Change
19
Subset Sum
20
Partition Equal Subset Sum
21
0/1 Knapsack
22
Longest Increasing Subsequence (LIS)
23
Longest Common Subsequence (LCS)
24
Edit Distance
25
Common Dynamic Programming Patterns

Projects

Apply what you've learned by building real projects.

Implement 15 Classic Dynamic Programming Algorithms
Intermediate
Solve the Complete AtCoder Educational DP Contest
Advanced
Build Your Personal Dynamic Programming Pattern Library
Advanced