- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
动态规划方程变量的定义:Vi::=第i件物品的体积Pi::=第i件物品的价值fij::=用容量为j的背包去装前i个物品所能获得的最大总价值方程:fij=max{fi-1j,fi-1j-vi+Pi}1=i=jf0j=0Answer=fnT环型动态规划特征:问题的数学模型表现为环型。通常思路:转换成线型处理石子合并在一园形操场四周摆放N堆石子(N≤100),现要将石子有次序地合并成一堆.规定每次只能选相临的两堆合并成一堆,并将新的一堆的石子数,记为该次合并的得分。编一程序,由文件读入堆数N及每堆石子数(≤20), (1)选择一种合并石子的方案,使得做N-1次合并,得分的总和最少(2)选择一种合并石子的方案,使得做N-1次合并,得分的总和最大输入数据: 第一行为石子堆数N; 第二行为每堆石子数,每两个数之间用一空格分隔.输出数据: 从第1至第N行为得分最小的合并方案.第N+1行为空行.从N+2到2N+1行是得分最大的合并方案.示例贪心法N=5石子数分别为346542。用贪心法的合并过程如下:第一次346542得分5第二次54654得分9第三次9654得分9第四次969得分15第五次159得分24第六次24总分:62然而仔细琢磨后,发现更好的方案:第一次346542得分7第二次76542得分13第三次13542得分6第四次1356得分11第五次1311得分24第六次24总分:61显然,贪心法是错误的。动态规划用data[i,j]表示将从第i颗石子开始的接下来j颗石子合并所得的分值,max[i,j]表示将从第i颗石子开始的接下来j颗石子合并可能的最大值,那么:max[i,j]=max(max[i,k]+max[i+k,j–k]+data[i,k]+data[i+k,j–k])(2=k=j)max[i,1]=0同样的,我们用min[i,j]表示将第从第i颗石子开始的接下来j颗石子合并所得的最小值,可以得到类似的方程:min[i,j]=min(min[i,k]+min[i+k,j–k]+data[i,k]+data[i+k,j–k])(0=k=j)min[i,0]=0这样,我们完美地解决了这道题。时间复杂度也是O(n2)。平面型动态规划特征:问题模型为一个平面通常的子结构划分方式:逐行扫描宝藏三角一个宝藏如下所示:3459726874从顶端出发,每次可以向左下或者右下走。求一条从顶端到底边的路径,使得路径上所有宝藏之和最大。动态规划方程状态转移方程:dp[i][j]=max(dp[i-1][j-1],dp[i-1][j])+a[i][j];如果看到这里,相信你一定给这篇演示文稿看完了,预祝你在NOIP2006里取得好的成绩!——ljforBraveHeart(其实是ljfhe和BraveHeart做的PPT)动态规划什么是动态规划在学习动态规划之前你一定学过有哪些信誉好的足球投注网站.那么有哪些信誉好的足球投注网站与动态规划有什么关系呢?我们来下面的一个例子.数字三角形给你一个数字三角形,形式如下:12345678910找出从第一层到最后一层的一条路,使得所经过的权值之和最小或者最大.数字三角形无论对与新手还是老手,这都是再熟悉不过的题了,很容易地,我们写出状态转移方程:f(i,j)=a[i,j]+min{f(i-1,j)+f(i-1,j+1)}对于动态规划算法解决这个问题,我们根据状态转移方程和状态转移方向,比较容易地写出动态规划的循环表示方法。但是,当状态和转移非常复杂的时候,也许写出循环式的动态规划就不是那么简单了。解决方法:记忆化有哪些信誉好的足球投注网站我们尝试从正面的思路去分析问题,如上例,不难得出一个非常简单的递归过程:f1:=f(i-1,j+1);f2:=f(i-1,j);iff1f2thenf:=f1+a[i,j]elsef:=f2+a[i,j];显而易见,这个算法就是最简单的有哪些信誉好的足球投注网站算法。时间复杂度为2n,明显是会超时的。分析一下有哪些信誉好的足球投注网站的过程,实际上,很多调用都是不必要的,也就是把产生过的最优状态,又产生了一次
文档评论(0)