算法第三章作业
1.对动态规划的理解
经过第三章动态规划的学习,我了解到动态规划的思想与分治法十分相似,基本思想是将待求解问题分解成若干个子问题,先求解子问题,再结合这些子问题的解得到原问题的解。但是动态规划求解的问题经分解得到的子问题往往不是互相独立的。动态规划算法适用于解最优化问题,可按照以下四个步骤:1.找出最优解的性质,并刻画其结构特征;2.递归地定义最优值3.以自底向上的方式计算最优值;4.根据计算最优值时得到的信息,构造最优解。
2.最长递增子序列
m[i] = max{m[k]+1 | a[k]<a[i]}(1<=k<i)
租用游艇
m[i] = min{c[i][k]+m[k[} (i<k<=n)
表示第i到终点的最小费用
3.结对编程情况
通过结对编程,解决了一些bug,运用动态规划不同得递归方程去实现问题的解答。