背包类动态规划要点.pptVIP

  • 5
  • 0
  • 约3.25千字
  • 约 23页
  • 2016-11-02 发布于湖北
  • 举报
背包类动态规划要点.ppt

背包类动态规划 长沙市雅礼中学 朱全民 经典的背包问题(01背包) 有N件物品; 第i件物品Wi公斤; 第i件物品价值Ci元; 现有一辆载重M公斤的卡车; 问选取装载哪些物品,使得卡车运送的总价值最大? 搜索法 对于每种物品,要么装上卡车,要么不装,因此,N种物品的装箱方案共有2N种。 按每种物品进行搜索,方法如下: 对第i种物品进行搜索 如果所有的物品都搜索完,则更新最优解 如果当前的估计达不到最优解,则回溯 如果第i种物品能放,则放,并标记,否则选下一个物品 清除标记 回溯 动态规划 可以按每个物品进行规划,同样每种物品有选和不选两种选择 设F(i,j)表示前i件物品载重为j的最大效益,则有 1=i=N, 0=j=N 初值:F(0,j)=0 F(N,M)即答案 显然时间复杂度为O(NM) 主程序如下 for i:=1 to m do f[0,i]:=0; //初始化 for i:=1 to n do f[i,0]:=0; for i:=1 to n do // 动态规划,递推求f for j:=1 to m do begin if j=w[i] then //背包容量够大 f[i,j]:=max(f[i-1,j-w[i]]+c[i],f[i-1,j]) else

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档