Skip to content

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