码迷,mamicode.com
首页 > 其他好文 > 详细

背包前三讲

时间:2018-10-14 21:01:51      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:art   max   遍历   for   style   完全   ++   .net   i++   

https://blog.csdn.net/yoer77/article/details/70943462

一,01背包

描述:自己背了一个背包,有一个容量,面前有n件物品,每件物品有一个价值一个重量,然后用这个背包去装总价值最多的物品

思路:考虑所有的状态,去遍历每一件物品,然后枚举所有的容量从0-m,如果能装下当前物品就计算不装和装(当前物品的价值和剩余重量的最优值之和)的哪个答案更优

 for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=c;j++)
        {
            if(j>=w[i])
                m[i][j]=max(m[i-1][j],m[i-1][j-w[i]]+v[i]);
 
 
            else
                m[i][j]=m[i-1][j];
        }
    }

二,完全背包

和01背包类似,但是每件物品的个数不限量,

 

背包前三讲

标签:art   max   遍历   for   style   完全   ++   .net   i++   

原文地址:https://www.cnblogs.com/Lis-/p/9787262.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!