码迷,mamicode.com
首页 > 其他好文 > 详细

动态规划总结

时间:2019-10-27 17:03:09      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:思想   依赖   体会   之间   关系   乐趣   轻松   hellip   三角形   

理解:

我所理解的动态规划的思想,其实就是将一个大的、复杂的问题简单化,将大的问题分成若干个小的子问题,再将这些子问题一一解决。找出子问题之间的互相依赖关系,利用递归的思想,将它们的依赖关系给串联在一起,最后解决原来的这个复杂的问题。

动态规划实际上就是找出他们的关系,然后进行填表的操作。具体问题具体分析是填一维数组还是二维数组。

 

编程1:len[i] = max{len[i]+1|a[j]>a[i]}              (其中len[i]表示从0开始到i处的最长单调递增子序列的个数,初始值默认设为1;a[i]表示我们输入的数列,且1<i<n,设n为最大的数组下标)           

编程2:m[j]=min{ m[i]+cost[i,j] }                (m[j]表示从1到 j 所需最少租金,cost[i,j]表示从 i 到 j 所需花费,且1<i<j<n,设n为最大的数组下标)

 

 

结对编程:

第三章的这三个实验对于我们来说是既难,又不难。为什么会这样说呢?其实刚拿到三角形这道题的时候我脑袋一懵,老师上课讲的那些我是听懂了,可是真正实践起来的时候并非我想象中那样容易,并没有办法做到信手拈来,这使我有些懊丧。

但是幸好的是,我们组有一位同学在周末写完了之前的4道题目,她有了一些思路,在经过我们三人的讨论逐渐成型。这个时候我才体会到合作的乐趣。

其实第一道题相对我们来说并没有太大的难度,甚至第二题也能轻松解决。一二题目相对来说的确不是太难,很容易就能用填表的方法解决。难的是第三题。

……又得说万幸了,我们组的某个同学在实验室,老师才给他们说完这个例子,所以她对第三题非常理解,并且通过讲解让我们明白。

动态规划总结

标签:思想   依赖   体会   之间   关系   乐趣   轻松   hellip   三角形   

原文地址:https://www.cnblogs.com/leeanna/p/11747835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!