1.
动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一个二维数组中。
2.
第一题并非递归算法
第二题定义a[i][j]表示站点i到站点j的最低租金,a[i][j]=min{a[i][k]+a[k][j]},其中1<=i<k<j<=n
3.
在思考第一道问题的时候,没有一个完整的思路,跟同学一块探讨没有办法的情况下向其他小组的成员提问,最终知道了这道题并非使用动态规划思想来得以求解的。。第二道题在列出递归方程之后很快就写出了算法的大概主体,在与同学一块修改后,算法很快就完成了