记得初中时候的一篇文章说,做学问,必须要有学和问两个方面。做了一些动态规划题目之后偶然看到这个介绍动态规划的文章。然后遇见第一道题目就卡壳。经过反思文章以及自己思考,总算对题目有了一些理解。下面分享给大家,初学者们看到这个题目不至于太过茫然——像我一样。工厂生产某种产品,每单位(千件)的成本为1(千...
分类:
其他好文 时间:
2015-02-23 17:47:47
阅读次数:
184
划分DP第三题,wikioi 1040,送我n个WA~~~题目大意:
这道题题述有着UVA的特色,够废话,其实就是读入一个长度最大200的字符串(不知道为何要分行输入,完全没有意义啊),分成m部分,使各部分单词量加起来最大
解题思路:
这题划分的部分跟乘积最大那题其实很像,状态转移方程也很容易想到:
dp[i][k]=max(dp[i][k],dp[j][k-1]+scnt[j+1][i])...
分类:
其他好文 时间:
2015-02-22 14:34:57
阅读次数:
179
划分型DP,是解决跟划分有关的题目的一种DP思路,个人觉得,是目前接触的DP类型中最难的一种,因为感觉思路并不确定,不过正是不确定,才可以体会到算法的精妙之处。题目链接:wikioi_1017
要求是将一个n位的数分成m部分,使各部分的乘积最大。解题的思路基于一个事实:当前的数可以分成m-1部分,那么加多几位分成m部分不是可以从原来的推出来。从这句差不多是废话的话中我们就可以推出状态转移方程:...
分类:
其他好文 时间:
2015-02-21 16:38:54
阅读次数:
3407
划分型DP第二题,wikioi 1039,与第一题乘积最大思路有所不同。题目要求:
将一个数划分成几部分,问一共有多少种分法。
真 · 解题思路:
其实跟小学奥赛的一些题有点像,我们先来看一个例子:
7 分成 3 部分,有四种办法:
1,1,5;1,2,4;1,3,3;2,2,3 。
我们人脑来考虑问题的时候是怎么想的呢?显然,从1开始,1是第1部分,然后剩下6分成2部分,我们依然是从1...
分类:
其他好文 时间:
2015-02-21 16:37:05
阅读次数:
189
最近刚开始接触动态规划(Dynamic Programming)算法,之前略有耳闻,一直觉得DP非常之高大上,看了某些题的DP解法也是云里雾里,哇擦?!这么几行代码就解决了?怎么全是数组操作?时间复杂度也很低的样子。其实不然,当我真正开始学习动态规划的时候才发现这货没那么玄乎。把我对DP浅显的理解总...
分类:
其他好文 时间:
2014-12-24 17:56:40
阅读次数:
132
http://www.nowamagic.net/librarys/veda/detail/607IT路漫漫,你需要明确自己所处的位置,并作出相应的规划,这条路才能够走得更加顺畅。下面是参考:初学者阶段我把刚开始学习的阶段定义为初学者阶段。该阶段学习者什么都不会,必须从摸索阶段进行系统学习,这样能少...
分类:
其他好文 时间:
2014-11-15 18:21:06
阅读次数:
181