Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
8 views

Dynamic Programming Problems basic

Dynamic Programming Problems basic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Dynamic Programming Problems basic

Dynamic Programming Problems basic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Basic Concepts:

1. What is memoization? A Complete tutorial


2. Introduction to Dynamic Programming – Data Structures and Algorithm Tutorials
3. Tabulation vs Memoizatation
4. Optimal Substructure Property
5. Overlapping Subproblems Property
6. How to solve a Dynamic Programming Problem?

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

Standard problems on 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

You might also like