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...
原文:http://www.cnblogs.com/ariel-zhang/p/6902562.html