首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
多重背包
7条解析
开通博客写题解
ddhw111
发表于 2024-05-03 21:40:32
多重背包 链接:https://ac.nowcoder.com/acm/problem/235950 来源:牛客网 做法:适用于物品数量不是无限但又不止一个的背包问题,一开始想到的是将n个相同重量的物品当作n个不同的物品,但完全背包的复杂度已经汗流浃背,所以我们需要把这个重复的n进行优化,我们尽量去
展开全文
在刷题的单身狗很开心
发表于 2023-10-08 21:27:17
首先可以将多重背包的每一种物品的数量都看做一种物品,这样就转化成了01背包。但是由于数据过大会超时。 所以在这里采用二进制的优化,可以使用二进制将其某种物品的数量捆绑成1,2,4,8.。。。。。。这样可以将表示的数量缩短。 然后采用01背包的做法即可。 #include &
展开全文
2022115886
发表于 2023-07-29 12:12:42
背包问题: 起初并未想到二进制优化,因为这一题数据范围不大,因此可以用O(n3)的解法,提交代码如下: include <bits/stdc++.h> using namespace std; int n,t; int x,w,v; int dp[101][1001]; in
展开全文
2022115828
发表于 2023-07-14 10:46:11
思路:模板题,利用二进制优化 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=100010; int w[N],v[N],dp[N]; int main(){ ios::sy
展开全文
咻132
发表于 2025-07-14 21:25:44
拆成01背包 #include<iostream> using namespace std; const int M=2010; int v[M],w[M],n,T,f[M],vv,ww,x,p=0; int main(){ cin>>n>>T;
展开全文
Z_L_G
发表于 2025-05-01 11:56:11
题意 种物品,每种物品有 个,体积 ,价值 ,背包体积 ,求最大价值 思路 可以把每个物品直接放 次,转化为01背包,大数据会TLE 打包-二进制优化:显然,每个数n可以拆成所有不大于它的二进制次方组合+剩余部分,如此便可表示从0~n,所以对每个 进行拆分,从1开始,不断拆分,直到拆不出
展开全文
hzfan_club
发表于 2022-08-15 23:37:49
多重背包模板题 这题数据范围给的200 可以用n^3做法不会超时 数据范围为8e8 n^3做法如下 #include<bits/stdc++.h> using namespace std; #define endl "\n" #define int long long #define
展开全文
查看本题
查看本题讨论
相关比赛
32312-算法基础精选题单补充题目
进入比赛
37679-南理信工实验室Contest 2
进入比赛
48537-大一模拟
进入比赛
48611-123123
进入比赛
48669-杭电圣光机SA系列赛ACM——大一专场
进入比赛
等你来战
查看全部
牛客小白月赛120
报名截止时间:2025-09-05 21:00
河南萌新联赛2025第(八)场:南阳理工学院
报名截止时间:2025-09-06 17:00
牛客周赛 Round 108
报名截止时间:2025-09-07 21:00
牛客练习赛144
报名截止时间:2025-09-12 21:30
牛客周赛 Round 109
报名截止时间:2025-09-14 21:00
牛客挑战赛82
报名截止时间:2025-09-19 22:00
牛客周赛 Round 110
报名截止时间:2025-09-21 21:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题