NOI导刊 线型动态规划课件.ppt

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

线型动态规划 ;带权有向的多段图问题;设F(i)表示从点A到达点i的最短距离,则有 F(A)=0 F(B1)=5,F(B2)=2 F(C1)=min{F(B1)+3}=8 F(C2)=min{F(B1)+2,F(B2)+7}=7 F(C3)=min{F(B2)+4}=6 F(D)=min{F(C1)+4,F(C2)+3,F(C3)+5}=10 ;多阶段最优化决策问题;状态转移方程;动态规划的基本原理;第1题:关键子工程;有向图的关键路径;分析;拦截导弹;分析;优化;具体过程: ;思考?;求导弹的最小覆盖;分析;偏序集;定理;证明:设p为最少反链个数 (1)先证明X不能划分成小于r个反链。由于r是最大链C的大小,C中任两个元素都可比,因此C中任两个元素都不能属于同一反链。所以p=r。 (2)设X1=X,A1是X1中的极小元的集合。从X1中删除A1得到X2。注意到对于X2中任意元素a2,必存在X1中的元素a1,使得a1=a2。令A2是X2中极小元的集合,从X2中删除A2得到X3……,最终会有一个Xk非空而Xk+1为空。于是A1,A2,…,Ak就是X的反链的划分,同时存在链a1=a2=…=ak,其中ai在Ai内。由于r是最长链大小,因此r=k。由于X被划分成了k个反链,因此r=k=p。 (3)因此r=p,定理1得证。;解决;青蛙过河(NOIP2005);【输入文件】 输入文件river.in的第一行有一个正整数L(1 = L = 109),表示独木桥的长度。第二行有三个正整数S,T,M,分别表示青蛙一次跳跃的最小距离,最大距离,及桥上石子的个数,其中1 = S = T = 10,1 = M = 100。第三行有M个不同的正整数分别表示这M个石子在数轴上的位置(数据保证桥的起点和终点处没有石子)。所有相邻的整数之间用一个空格隔开。 【输出文件】 输出文件river.out只包括一个整数,表示青蛙过河最少需要踩到的石子数。 【样例输入】 10 2 3 5 2 3 5 6 7 【样例输出】 2 【数据规模】 对于30%的数据,L = 10000; 对于全部的数据,L = 109。 ;分析 ;进一步分析; 于是我们可以分两种情况讨论: 1. S=T时: 这时候由于每一步只能按固定步长跳,所以若第i个位置上有石子并且i mod S=0那么这个石子就一定要被踩到。这是我们只需要统计石子的位置中哪些是S的倍数即可。复杂度O(M) 2. ST时: 首先我们作如下处理:若存在某两个相邻石子之间的空白区域长度MaxK+2*T,我们就将这段区域缩短成长度为MaxK+2*T。可以证明处理之后的最优值和原先的最优值相同。 ;所以原来的最优解必然在处理之后的最优解解集中。 经过这样的压缩处理,独木桥的长度L’最多为(M+1)*(MaxK+2*T)+M,大约12000左右。压缩之后再用先前的动态规划求解,复杂度就简化成了O(L’*(T-S)),已经可以在时限内出解了。 这样本题就得到了解决。;火车进站;先看样 第1,2,3辆分别进入( 1 2 3 ); 第2辆离开,可以看出要离开时,被第1辆火车卡在前面,因此第1辆火车不能进入,队列为(2 3) 第2辆离开,第4辆进入(3 4) 第3,4辆离开,队列空 第5,6辆进入 (5 6) 第5,6分别离开,队列空 因此答案为5辆 ;分析;m=1时;m=2;m=3;求最长公共子序列;分析样例;动态规划;主程序框架;样例运行过程;总结

文档评论(0)

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

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

1亿VIP精品文档

相关文档