动态规划一般题型的解题思路
自我体会: 动态规划类似于分治,分治可以说就是暴力求解,动态规划再次基础上算是做了一次优化,从性能上讲,同样一道题目,分治的解法要比动态规划的解法效率低,并且,分治的思路是自顶向下的,而动态规划的思路是从下到上的。动态规划,可以避免重复计算,之前计算过的不会再重新计算,以此来提高效率。 另外,动态规划,还要满足一个要求,就是最优子结构的特性。最优子结构就是指,对于一个问题的解,这个解的部分解也是一个最优解。也可以这么说,最优子结构中的子结构也是一个最优解。 对于一个题目而言,应用动态规划往往有两个思路,即可以正向思考,也可以逆向思考,暂时不上图了,时间有点晚了。可以想象老师讲的那个,类似于最短路的问题,从节点A到节点E,中间包含多个节点Bi,Ci,Di. 想象一下,如果正着推,从头推到尾,如果中间一个位置改变了,则它后面的信息都要重新更新。但是如果逆着推,当前面的位置的某个信息发生改变时,并不影响后面的变化,因为是逆着推的。因此,在动规中,逆推更常用。
解题过程: 1.分析最后一步的过程,进而确定状态,想办法推出 递推公式,即写出状态转移方程 2.最好结合一个例子,分析是逆推还是正推,即循环是正序还是倒序 3.分析初始条件,即根据规则赋初值,和边界值
