1. 对动态规划算法的理解:动态规划的基本思想就是将待求解的问题分解成若干子问题,先求解子问题,然后从这些子问题的解得到原问题的解。为了避免子问题被重复计算多次,用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,计算过的结果都填入表中。
2. 编程题1的递归方程:
i个数组成的序列的最长单调递增子序列长度为a[i]
a[i] = max ( a[j] +1, a[i] ) (j<i)
编程题2的递归方程:a[1][n]表示从第一站到第n站所花费的最少的租金,
a[1][n] = min { a[1] [j] + a[j] [n],a[1][n] }(1<j<n)
3. 结对编程的情况
刚开始编程的时候思路不是太清楚,和队友讨论之后得到递归方程后面代码就好写了。通过实践,可以帮助我更好的理解动态规划的思想。
原文:https://www.cnblogs.com/lindsey-17/p/9940434.html