对动态规划算法的理解
动态规划算法和分治法有相似之处,解题过程中,都会把总问题划分成一个个子问题,也都具有重叠子问题的性质。不同之处在于,动态规划算法的各个子问题并非相互独立的,下一个子阶段的解是建立在上一个子阶段的求解的基础上。所以在使用动态规划算法求解问题的过程中常常要用到一个储存上一阶段解的数组。
动态规划算法的解题步骤一般分为4步:划分、确定状态和状态变量、写出递推方程以及确定边界条件。
编程题1、2的递归方程
1 m[i] = max{ a[i], a[i] + m[i - 1] }
2 m[i] = min{ c[i][k] + m[k] }
说明结对编程情况
最近没有进行太多结对编程,但有一起讨论过算法思想,复习重要题型。