Lecture 21: Dynamic Programming III: Parenthesization, Edit Distance, Knapsack