浙江大学 acm程序的设计的竞赛 动态的规划的讲义.ppt

浙江大学 acm程序的设计的竞赛 动态的规划的讲义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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)

317960162 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档