算法第三章作业

。_饼干妹妹 提交于 2019-12-03 07:35:06

一. 对动态规划的理解

动态规划通常用于求解具有某种最优性质的问题。在这类问题中,可能会出现许多可行解,每一个解对应于一个值,动态规划可以帮助我们找到具有最优值的解。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,可以用动态规划求解的问题,分解得到的子问题不是相互独立的,而分治法却会出现有些子问题被重复计算很多次的情况,动态规划可以避免大量的重复计算。

 

二. 递归方程

1.

dp[i] = max(dp[j]+1, dp[i])

d[i] = 长度为i+1的递增子序列的长度

2.

r(i,j) = min(r(i,k)+r(k,j)) (i<k<j) , r(i,i) = 0

 

三. 结对编程

在结对编程的过程中,可以找到解决一个问题的不同思路。解题时分工合作,也加快了解题的效率。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!