Break complex problems into overlapping subproblems and build up optimal solutions.
Maximizes value from items placed in a weight-limited knapsack.
Finds the longest subsequence common to two sequences.
Finds the contiguous subarray with the largest sum using Kadane's algorithm.