- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[互联网]动态规划
逆推: var i,j,n,k:longint; f:array[0..100,0..100] of longint; function max(a,b:longint):longint; Begin if ab then exit(a) else exit(b); //求两数的最大值 end; Begin readln(n); for i:=1 to n do for j:=1 to i do read(f[i,j]); for i:=n-1 downto 1 do //每一层就是一个阶段,共有n个阶段 for j:=1 to i do //一层当中的每一个节点就是一个状态,共有i个状态 f[i,j]:=max(f[i,j]+f[i+1,j],f[i,j]+f[i+1,j+1]); //每个状态有两个决策,即加上上一层左边或右边的数 k:=0; writeln(f[1,1]); //f[1,1]即为答案,不需要像顺推一样进行比较 end. Back 动态规划与贪心 ——神奇的导弹~~ 动态规划算法主要条件是最优子结构和无后效性。也就是说动态规划不仅能得出全局最优解,也能得出局部最优解。 贪心算法在每一个步骤都能求出最优解,也就是说贪心能求出局部最优解。贪心也就是每一步决策是完全基于现在的状态的。在某些情况下,贪心也能得出最优解。但是经常,贪心算法会因为目光短浅而得不到全局最优解。 事实上,有些问题是动态规划和贪心都解决不了的,像欧拉回路(中国邮路问题,每条边只遍历一次),就是只能用有哪些信誉好的足球投注网站解决的。同时,有哪些信誉好的足球投注网站能保证正确性,而且不用动脑、打起来方便,是骗分的不二法门。但是有哪些信誉好的足球投注网站的时间代价和空间代价都是很大的,所以搞有哪些信誉好的足球投注网站的也不要灰心,你们还不是一无是处的。 下面我们就给一道题,看看三个方法的异同。 拦截导弹 【问题描述】 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。 【输入样例】 389 207 155 300 299 170 158 65 【输出样例】 2 样例 不解释!!!!!!!!!!! 贪心法 按照常识,我们知道每次如果不用开一个新的系统,那么就尽量在原来的系统中挑一个最小的。这样每次插入排序,时间复杂度和空间复杂度都不会很大。也可以保证正确。 但是用贪心的也不要太高兴了。这道题只是凑巧才能对,如果题目加上一问“一套系统最多能拦截多少导弹”,贪心就是行不通的了。 那么源程序在这里就不贴了,自己打去 有哪些信誉好的足球投注网站 有哪些信誉好的足球投注网站只是略提一下,只要枚举就行,不过时间实在是有点长(也不是很长,比如说最大的一个点,只需要10^2541倍的宇宙历史长度就可以过了),有兴趣的同学们可以去试一试。 那么源程序在这里就不贴了,自己打去 因为比前面的高的导弹最后都会被拦截,所以只要求最长不下降子序列就可以,这样,每一枚导弹都能被拦截。 而且即使加上刚刚提到的那一问,也可以求。因为每一枚能拦到的导弹都不比原来的高,所以只用求最长不上升子序列就行了。 for i:=1 to n do for j:=i-1 downto 0 do if (a[j]a[i]) and (opt[j]+1opt[i]) then opt[i]:=opt[j]+1;//同求最长不上升子序列的原理, 只要有一个都比它高就累加1,最后求出最大的 anstime:=0; for i:=1 to n do if opt[i]anstime then anstime:=opt[i];//比较大小 end; 动态规划 Back NOIP 2012 普及组 flower ——静态规划 什么是静态规划? 给定一个数的序列H0,H1,…,Hn,…若存在整数n0,使当nn0时,可以用等号(或大于号、小于号)将Hn与其前面的某些项Hi(0in)联系起来,这样的式子就叫做递推关系。 静态规划算法(又叫做递推)是一种简单的算法,即通过已知条件,利用特
文档评论(0)