liu1823612484 2017-10-25 12:15 采纳率: 0%
浏览 711
已结题

动态规划算法闭包问题

0/1闭包问题n=5 w={7,3,6,7,4}v={8,3,10,4,6},w=15,写出动态规化
详细过程。越具体越好

  • 写回答

3条回答 默认 最新

  • Gxiandy 2017-10-26 03:47
    关注

    用m[i][j]表示当背包容量为j时选择第i,i+1,i+2,….n件物品时价值的最大值,wi表示第i件物品的重量,vi表示第i件物品的价值
    考虑几种可能的情况:
    1、 第i件物品的重量大于背包剩余容量(wi>j):不选第i件物品,此时有:
    m[i][j]=m[i+1][j]
    2、 第i件物品的重量小于等于背包剩余容量(wi<=j):此时可以做出两个选择,选择或者不选第i 件物品,而m[i][j]则是两种选择计算出的最优值,既:
    m[i][j]=max{m[i+1][j],m[i+1][j-wi]+vi}(第一项表示不选i,第二项表示选择i)
    3、 对于第一件物品的选择,若其重量大于背包容量则不选,否则选择后最大价值为该物品价值
    由此可得出计算m[i][j]的递归式:
    图片说明
    当n=5 w={7,3,6,7,4},v={8,3,10,4,6},w=15时
    我们需要计算的就是m[1][15],计算顺序如下
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献