动态规划的问题其实本质还是一种递归问题的优化,针对某一些递归问题,自上而下的求解会重复求解子问题的情况,(利用子问题图来发现这种情况),采用动态规划的方法解决这样的问题。
一方面,通过对子问题进行记录备份,需要的时候查找,
另一方面,采用自下而上的求解策略,对大规模的问题,首先求解每一个它要用到的小规模问题的解,然后记录,一路向上求解得到大规模问题。
钢条切割成小段以后,进行出售,不同小段出售价格不同,求最佳切割方法
直接来说,每个钢条有2^(n-1)种切法,即,每个切点有切和不切两种选择。可以直接递归求解,用更短钢条的最优切割收益来描述。max(Pn,R1+R(n-1),R2+R(n-2),,,,R(n-1)+R1).Pn是不切,其他R1是切长度1,即,求某段长的收益,先切成1和n-1段,收益是两者和,并且某段长度的最优收益可以用它更短的来表述,n-1长度的继续递归。基于次,就可以是任意一段切开,两段收益再递归求解,然后遍历一遍取最大收益。这种问题就是,假设两段切成4和5,然后求4的最佳收益的时候递归求解过1,3;2,2的最佳收益了,求