Dynamic Programming Problems basic
Dynamic Programming Problems basic
Advanced Concepts:
1. Bitmasking and Dynamic Programming | Set 1
2. Bitmasking and Dynamic Programming | Set-2 (TSP)
3. Digit DP Introduction
4. Sum over Subsets Dynamic Programming
Easy:
1. Fibonacci numbers
2. nth Catalan Number
3. Bell Numbers (Number of ways to Partition a Set)
4. Binomial Coefficient
5. Coin change problem
6. Subset Sum Problem
7. Compute nCr % p
8. Cutting a Rod
9. Painting Fence Algorithm
10. Longest Common Subsequence
11. Longest Increasing Subsequence
12. Longest subsequence such that difference between adjacents is one
13. Maximum size square sub-matrix with all 1s
14. Min Cost Path
15. Minimum number of jumps to reach end
16. Longest Common Substring (Space optimized DP solution)
17. Count ways to reach the nth stair using step 1, 2 or 3
18. Count all possible paths from top left to bottom right of a mXn matrix
19. Unique paths in a Grid with Obstacles
Medium:
1. Floyd Warshall Algorithm
2. Bellman–Ford Algorithm
3. 0-1 Knapsack Problem
4. Printing Items in 0/1 Knapsack
5. Unbounded Knapsack (Repetition of items allowed)
6. Egg Dropping Puzzle
7. Word Break Problem
8. Vertex Cover Problem
9. Tile Stacking Problem
10. Box-Stacking Problem
11. Partition Problem
12. Travelling Salesman Problem (Naive and Dynamic Programming)
13. Longest Palindrome Subsequence
14. Longest Common Increasing Subsequence (LCS + LIS)
15. Find all distinct subset (or subsequence) sums of an array
16. Weighted job scheduling
17. Count Derangements (Permutation such that no element appears in its
original position)
18. Minimum insertions to form a palindrome
19. Wildcard Pattern Matching
20. Ways to arrange Balls such that adjacent balls are of different types
Hard:
1. Palindrome Partitioning
2. Word Wrap Problem
3. The painter’s partition problem
4. Program for Bridge and Torch problem
5. Matrix Chain Multiplication
6. Printing brackets in Matrix Chain Multiplication Problem
7. Maximum sum rectangle in a 2D matrix
8. Maximum profit by buying and selling a share at most k times
9. Minimum cost to sort strings using reversal operations of different costs
10. Count of AP (Arithmetic Progression) Subsequences in an array
11. Introduction to Dynamic Programming on Trees
12. Maximum height of Tree when any Node can be considered as Root
13. Longest repeating and non-overlapping substring