您当前的位置: 首页 > 

MangataTS

暂无认证

  • 0浏览

    0关注

    423博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

01背包详解

MangataTS 发布时间:2022-03-03 02:18:21 ,浏览量:0

01背包

在这里插入图片描述

一、问题引出

现在一共有 N N N 件物品,第i(i从1开始)件物品的重量为 v [ i ] v[i] v[i] ,价值为 w [ i ] w[i] w[i] 。每个物品至多挑选一次,且在挑选出来的物品的总重量不超过 V V V 的情况下,能装入背包的物品的总价值和最大为多少

二、分析 2.1 暴力思考

对于每一个物品我们无非就两种选择, 选 和 不选 那么对于N件物品的抉择方案数就是 2 N 2^N 2N 种,当 N < 27 N < 27 N V || vis[loc]) return; if(loc == n + 1){ ans = max(ans,res_w); return; } vis[loc] = 1; dfs(loc+1,sum_v + v[loc],res_w + w[loc]);//选取第loc个位置的数 vis[loc] = 0; dfs(loc+1,sum_v,res_w);//不选去第loc个位置的数 } int main() { scanf("%d%d",&n,&V); memset(vis,false,sizeof vis); ans = 0; for(int i = 1;i

关注
打赏
1665836431
查看更多评论
立即登录/注册

微信扫码登录

0.1018s