动态规划算法1介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ans:=-300000000; for i:=1 to n do begin sum:=0; for j:=i to n do begin sum:=sum+a[j]; if sumans then ans:=sum; end; end; writeln(ans); 当 a[i,j]=1 f [i,j]:=min { f [i,j-1], f [i-1,j], f [i-1,j-1] } +1; procedure dfs(i,left,value:longint); //在前i件物品中选了若干件放入到背包中,其价值为value,背包还能装的重量为left。 begin if i=n then if valueans then ans:=value; if i=n then exit; //防止越界 dfs(i+1,left,value); //不装i+1 if left=w[i+1] then //装i+1 dfs(i+1,left-w[i+1],value+v[i+1]); end; for i:=1 to n do   for j:=1 to m do begin f[i,j]:=f[i-1,j]; //不选择第i件物品 if (j=w[i]) and (f[i,j]f[i-1,j-w[i]]+v[i]) //选择第i件物品} then f[i,j]:=f[i-1,j-w[i]]+v[i]; end; writeln(f[n,m]); end. read(i,j);//i:父;j:子 if son[i]=0 then son[i]:=j else begin brother[j]:=son[i]; son[i]:=j; end; read(i,j);//i:父;j:子 if left[i]=0 then left[i]:=j else begin right[j]:=left[i]; left[i]:=j; end; 反例:7 4 4 7 贪心:8+15+22=45 正确:11+11+22=44 应该怎么合并呢? 3堆石子合并方案: 11+(11+6)=28 9+(8+9)=26 Ans=Min(28,26)=26 8 3 6 N=4时,4堆一共合并了几次? 最后一次合并成一堆前的那两堆什么样? 8,18 或者 13,13 或者 18,8 哪种情况是理想的情况: Min(8+18,13+13,18+8)=26 子问题变成3堆和2堆的情况。 8 5 5 8 5堆石子: (1,5)=min{ (1,1)+(2,5); (1,2)+(3,5); (1,3)+(4,5); (1,4)+(5,5)}+sum[1,5] n 堆石子:n-1次合并 a1,a2,a3,…,an-1,an Min{(1..k)+(k+1..n)} +sum[1,n] 枚举:k=1..n-1 重叠子问题和最优子结构性质 (1,n)=min{ (1,1)+(2,n); (1,2)+(3,n); … (1,n-1)+(n,n)}+sum[1,n] 动态规划算法: 定义f[i,j]表示从第i到第j堆间合并为一堆的最小代价。 a[i],……,a[j] 共有j-i+1堆石子 sum[i,j]=a[i]+a[i+1]+…+a[j] 状态转移方程:f[i,j]:={f[i,k]+f[k+1,j]}+sum[i,j] 枚举位置k:i=k=j-1 初始:f[i,i]=0; ans=f[1,n] 实现方法1:记忆化搜索 a[i]:记录第i堆石子数量。 s[i]=a[1]+a[2]+…+a[i]。//前缀和 sum[i,j]=s[j]-s[i-1]. readln(n); s[0]:=0; for i:=1 to n do begin read(a[i]); s[i]:=s[i-1]+a[i]; end; 搜索过程: function dfs(i,j:longint):longint;//合并i..j var k:longint;

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档