08. Dynamic Programming
0-1 Knapsack
1. Subset Sum
2. Equal Sum Partition
3. Count of Subset Sum
4. Minimum Subset Sum Difference
5. Count of Subsets with given difference
6. Target Sum
Unbounded Knapsack
1. Rod Cutting
2. Coin Change I (Maximum number of ways)
3. Coin Change II (Minimum number of coins)
4. Maximum Ribbon Cut
Longest Common Subsequence
1. Longest Common Substring
2. Print Longest Common Subsequence
3. Shortest Common Super sequence
4. Print Shortest Common Super Sequence
5. Minimum number of insertions and deletions to convert string from a to b
6. Longest Repeating subsequence
7. Length of longest subsequence of a which is substring in b
8. Subsequence pattern matching
9. Count how many times string a appears as subsequence in b
10. Longest Palindromic subsequence
11. Longest Palindromic substring
12. Count of Palindromic substring
13. Minimum number of deletions in a string to make it a palindrome
14. Minimum number of Insertions in a string to make it a palindrome
Longest Increasing Subsequence
Matrix Chain Multiplication
Fibonacci
Kadane's Algorithm
DP on Trees
DP On Grid
Linear DP
2 Dimensional DP
DP on String
Cummulative Sum
DP with Bitmask
Digit DP
DP with Math
Dp with Probability