### Dynamic Programming:

0/1 Knapsack Concept

Core Concept
Subset Sum Problem

Partition Equal Subset Sum
Count Subset Sum
Minimum Subset Sum Difference
Target Sum
Combination Sum
Combination Sum with

Additional Constraint

### Dynamic Programming:

Unbounded Knapsack Concept

Core Concept
Coin Change:

Minimum no. of Coins
Coin Change:

Total no. of Combinations Possible
Combination Sum
Combination Sum Count

### Dynamic Programming:

State Machine Approach

Core Concept
Stock Trading With Cooldown
Max Profit w/ Unlimited

Stock Trade Transactions
Stock Trading With Transaction Fee
Max Profit w/ at most

2 Stock Trade Transactions
Max Profit w/ at most

K Stock Trade Transactions
Max Profit w/ at most

1 Stock Trade Transaction

### Dynamic Programming:

Longest Increasing Subsequence

Core Concept Box Stacking Russian Doll Envelopes Largest Divisible Subset Longest String Chain Best Team with No Conflict Longest Bitonic Subsequence

### Dynamic Programming:

All possible Cuts

in all possible Intervals

for the Last Operation

Core Concept
Matrix Chain Multiplication

or, Parenthesization
Optimal Binary Search Tree
Minimum Palindrome Partitioning
Burst Balloons

### Dynamic Programming:

Kadane's Algorithm

Core Concept Maximum Product Subarray Best Time to Buy and Sell Stock

### Dynamic Programming:

2-Strings Problems

Core Concept Longest Common Substring Longest Common Subsequence Shortest Common Supersequence Interleaving String Edit Distance

### Dynamic Programming:

1-String Problem

Core Concept Palindrome Longest Palindromic Substring Longest Palindromic Subsequence Minimum Palindrome Partitioning Minimum Palindromic Insertion

### Dynamic Programming:

Other Techniques

Optimal Path(s) to Target Minimum Cost Tickets Counting DP Unique Paths Unique Paths Without Obstructions Decision Making Approach House Robber

Follow Us On LinkedIn