- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动恋规划专题讲义
鲁本文只是个人对动态规划的
些见解,理论性并不一定能保证
前
正确有不足和缺漏之处请谅解
和及时地指出.
是信息学竞赛中选手必
动须熟练掌握的一种算法他以其
态规划
多元性广受出题者的喜爱
鲁什么是动态规划
鲁状态阶决象
目
鲁一种确立状态的方法
录
高种简单的动规武器
三种猜殊的动态规划
什么是动态规划
鲁在学习动态规划之前你一定学
过搜索那么搜索与动态规划有
什么关系呢?我们来下面的
个例子
bac
鲁给你一个数字三角形,形式如下:
数字一
456
角找出从第一层到最后一层的一条
形↓路使得所经过的权值之和最小或
者最大
bac
无论对与新手还是老手,这都是再
熟悉不过的题了,很容易地,我们
写出状态转移方程:f(i,j=a[i,j
+min{f(i-1,j)+f(ⅰ-1,j+1)}
数字三角形
对于动态规划算法解决这个问题,
我们根据状态转移方程和状态转移
方向,比较容易地写出动态规划的
循环表示方法。但是,当状态和转
移非常复杂的时候
环
式的动态规却就是邮么哎E式
解决方法:/
bac
我们尝试从正面的思路去分析问题,
如上例,不难得出一个非常简单的
递归过程:
e fl: =f(i-1,j+1); f2: =f(i-1 j)
记忆化搜索
e if flf2 then f:=fl+ali,jl else
f: =f2+aij;
●显而易见,这个算法就是最简单的
搜索算法。时间复杂度为2n,明显
是会超时的。分析一下搜索的过程,
实际上,很多调用都是不必要的
也就是把产生过的最优状态,又
生了一次。为了避免浪费,很显然
我们存放一个。p数组:aC
eopt[i,j-每产生一个f(j,
将f(i,j)的值放入opt中,以后再
次调用到f(i,j的时候,直接从
opt[i,j来取可
记忆化搜索
●于是动态规记忆化的功效
观地表示出来了,这杆省了思维
的难度,减少了编程的技巧,而运
行时间只是相差常数的复杂度,而
且在相当多的情况下,递归算法能
更好地避免浪费,在比赛中是非常
实用的
bac
鲁可以看出动态规划的实质就是
的
实
质这也就是为什么我们常说动态
因记忆化,正符合了这个要求
原创力文档


文档评论(0)