Dynamic Programming

First, think of solution as a linear sequence of decisions.

Second, work backward from the last decision to see: how a decision depends on previous decisions.

Third, introduce some notation to express the recursive relation,

Fourth, generate condition, find out boundary condition, find out how to do iteration

Typical problem: knapsack, longest common subsequence...

原文地址:https://www.cnblogs.com/ariel-zhang/p/6902562.html