关于动态规划的一点学习感想
关 于 动态规划
(1)完整思路或大体思路比具体编码要更加重要,所以一定要搞清楚整个问题的思考过程
(2)动态规划的特点:
状态,能够代表当前的情况,比如0-1背包中的 选 或者 不选 第 i 个物品。而且 一定 要 注意,当前状态 只 和 前一个状态 有关,或者说 只有 前一个状态 直接影响 当前 状态
最优子结构,代表能够使用动态规划解决的标识,蕴含状态转移方程,这个是解决动态规划问题最最重要的,通常可以 总结出 递推公式 然后 递归 的来求解
状态转移方程是一个递推公式,可以 自顶向下 递归 或者 自底向上 递推来解决动态规划,具体采用 何种方式 视情况而定
(3)一点经验:许多题目可以 倒着想思路,正着写代码(自底向上的方式)
(4)状态的选取非常重要