2014信息学奥林匹克夏令营-day3动态规划(荆晓虹).pdf

2014信息学奥林匹克夏令营-day3动态规划(荆晓虹).pdf

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014信息学奥林匹克夏令营-day3动态规划(荆晓虹)

JSOI2014夏令营 动态规划的应用 主讲:荆晓虹 江苏省丹阳高级中学 2014年7月 内容提要  动态规划常见模型  动态规划实例分析  动态规划实现方法及技巧交流  上机作业 2 JSOI2014夏令营 问题一:美梦 【问题描述】 这天晚上,约翰做了个奇怪的美梦。他拥有了分别分布在N座高高低低的山上的N个池塘,N座山连成一条 直线,从左往右第i座山的高度是Hi 。池塘中的鱼都是他请专家运用科学的方法专门养殖的,为了保护每个池 塘的生态环境,他现在要在这N座山上建造若干个看护点。约翰是个很节约的人,在第i座山建造看护点的花费 为Ci 。假设在第i座山建造一个看护点,则往左或者往右第一座不比这座山低的山将挡住看护的视线。譬如说: {Hi} = {1 4 4 5 7 2}表示第一座山高度为1,第二座山高度为4 。。。 如果在第1座山建造一个看护点,则可以看护第1,2两个池塘。如果在第5座山上建造一个看护点,则左右的池 塘都能被看护到。如果在第3座山上建造一个看护点,则能够看护到第2 ,3,4个池塘。 Problem Task 要求能够看护到所有的池塘,建造看护点的最小代价是多少。即建造看护点的山对应的花费Ci之和最小。 Problem Input 第一行包含一个正整数N ,N满足1=N=1000000。 第二行包含N个正整数,第i个正整数Hi满足1=Hi=10^9,表示第i座山的高度 第三行包含N个正整数,第i个正整数Ci满足1=Ci=10^9 ,表示在第i座山建造看护点的代价为Ci Problem Output 一行包含一个正整数C,表示最小的代价。 Problem Input Example 3 1 1 1 2 2 2 Problem output Example 2 3 JSOI2014夏令营 分析: 4 JSOI2014夏令营 一种想法: f[i]表示看护区域[1,i]需要的最小费用 Li表示第i座山最左边可以覆盖的山。 Ri表示第i座山最右边可以覆盖的山。 边界:f[0]=0; 转移:f[i]=min{ f[Lk-1]+Ck} k=i JSOI2014夏令营 解法一: f[i]表示看护区域[1,i]需要的最小费用 Li表示第i座山最左边可以覆盖的山。 Ri表示第i座山最右边可以覆盖的山。 边界:f[0]=0; 转移:f[i]=min{min{f[t]}+Ck} //Lk=t=k=Rk=i JSOI2014夏令营 解法二: f[i

文档评论(0)

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

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

1亿VIP精品文档

相关文档