动态规划速成攻略.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态规划速成攻略 福建泉州一中 倪永毅 在全国 NOIP 复赛中, 几乎每年都会出现用动态规划思想来解决的题目, 复赛中能否取得 好成绩,关键就是看动态规划掌握的情况。那对于从高中入学才开始编程语言的学生来说, 有没有一种方法能速成动态规划呢?本人经过几年的信息学奥赛辅导,通过对动态规划试题 进行归纳、总结、优化等方面的研究,在这里浅谈下动态规划的速成攻略,不足之处请大家 见谅。 一、 精练动态规划经典试题 动态规划的试题有很多,学生刚开始学习时,一定要精挑细选,让学生做些动态规划入 门的题目,这一阶段练习目的主要是让学生掌握好动态规划的一些基本概念,比如阶段、状 态、决策、状态转移方程、无后效性、最优性原理等概念。 这些题目有:数字三角形( IOI1994 )、拦截导弹( NOIP1999 )、合唱队形( NOIP2004 )、 挖地雷( NOIP1996 ) 二、对动态规划类试题进行分类教学 我们把动态规划的试题按照常见的模型把它分类,然后让学生来分类掌握,触类旁通, 事半功倍。 常见的动态规划可以划分以下几类: 1、线性类动态规划: 典型题目:数字三角形( IOI1994 )、拦截导弹( NOIP1999 )、合唱队形( NOIP2004 ), 马拦过河卒( NOIP2002 ),免费馅饼( NOI ’98 ),商店购物( IOI ’95 )等 2 、合并类动态规划: 典型题目:石子合并( NOI ’95 ),乘积最大( NOIP2000 ),能量项链( NOIP2006 )、数字游戏 (NOIP2003 )、添括号问题( NOI96 )等 3、背包类动态规划: 它包括 0/1 背包、完全背包、有限背包、有依赖的背包等背包问题是极为经典的模型,其 转化与优化也是很重要的。 (详细可参考 DD engi 写的《背包九讲》 ) 典型题目:开心的金明( NOIP2006 )、采药( NOIP2005 )、装箱问题( NOIP2001 )、金明的预 算方案( noip2006 )等 4 、多线程类动态规划: 典型题目:三取方格数( noip2000 )、传纸条( noip2008 )、巡游加拿大( IOI95 )等 5 、最大子段和模型 联赛还未考到这种模型,其实它也是经典利用动态规划来解决的问题之一。问题原型为求 数组中的子数组之和的最大值。 用 ans[i]表示包含数列第 i 项的前 i 个元素的最大和,数组 no 存放数列元素,则状态转移 方程为: ans[0]=0 ; ans[i]=max{ans[i-1]+no[i],no[i]} 时间复杂度为 O(n) 核心程序代码: best:=-maxlongint; temp:=0; for i:=1 to n do begin inc(temp,no[i]); if tempbest then best:=temp; if temp0 then temp:=0; Qzyz 第 1 页 2013-3-26 end; 它的一维改版有:求 K 大子段和、游览街区( NOI ’97 ),最大子矩阵和等。二维的有:条件 约束的最大子矩阵和奶牛浴场( WC ’2002 )等题目 6 、游戏模型 这类题的阶段(一般是时间)和决策(一般就是游戏目标)很清楚,因此比较容易想到。 典型题目:免费馅饼( NOI98 )、Help Jimmy (CEOI2000 )、瑰丽华尔兹( NOI2005 ,优化需要 多费功夫)、矩阵取数游戏( NOIP2007 )。 7 、其他模型:包

文档评论(0)

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

至若春和景明,波澜不惊,上下天光,一碧万顷,沙鸥翔集,锦鳞游泳,岸芷汀兰,郁郁青青。

1亿VIP精品文档

相关文档