Dynamic Programming Knapsack Subset Sum Unbounded Knapsack Rod Cut Longest Common Subsequence Shortest Common Subsequence Longest Repeating Subsequence Longest Common Substring Matrix Chain Multiplication Maximum Product Subarray Longest Arithmetic Subsequence Longest Palindromic Substring Equal Sum Partition