新闻详情

新闻详情

首页 / 资讯中心 / 详情

【题解-Acwing】5. 多重背包问题 II

发布时间:2026/10/2 1:42:38来源:尧图网络
【题解-Acwing】5. 多重背包问题 II
题目5. 多重背包问题 II题目描述有N NN种物品和一个容量是V VV的背包。第 i 种物品最多有s i s_isi​件每件体积是v i v_ivi​价值是w i w_iwi​。求解将哪些物品装入背包可使物品体积总和不超过背包容量且价值总和最大。输出最大价值。输入格式第一行两个整数N NNV VV用空格隔开分别表示物品种数和背包容积。接下来有N NN行每行三个整数v i v_ivi​,w i w_iwi​,s i s_isi​用空格隔开分别表示第i ii种物品的体积、价值和数量。输出格式输出一个整数表示最大价值。数据范围0 N ≤ 1000 0 N ≤ 10000N≤10000 V ≤ 2000 0 V ≤ 20000V≤20000 v i , w i , s i ≤ 2000 0 v_i, w_i, s_i ≤ 20000vi​,wi​,si​≤2000时空限制1s / 64MB输入样例4 5 1 2 3 2 4 1 3 4 3 4 5 2输出样例10思路每个十进制整数都可以转化为二进制数考虑将s[i]用二进制表示s 2 0 s2^0s202 1 2^1212 2 2^222 … 2 k 2^k2kC CC把物品分成每个组每个组中的物品最多只能选择1个每个组的物品的体积分别为2 0 2^020∗ v [ i ] *v[i]∗v[i]、2 1 2^121∗ v [ i ] *v[i]∗v[i]…2 k 2^k2k∗ v [ i ] *v[i]∗v[i]、C CC∗ v [ i ] *v[i]∗v[i]每个组的物品的价值分别为2 0 2^020∗ w [ i ] *w[i]∗w[i]、2 1 2^121∗ w [ i ] *w[i]∗w[i]…2 k 2^k2k∗ w [ i ] *w[i]∗w[i]、C CC∗ w [ i ] *w[i]∗w[i]组数为N ∗ l o g S N*logSN∗logS这样就将多重背包看成01背包求解代码1(二维数组)#includebits/stdc.husingnamespacestd;constintN1100010,M200010;//NN*logSintn,V,cnt,v[N],w[N],f[N][M];intmain(){cinnV;for(inti1;in;i){inta,b,s;cinabs;intk1;while(ks){cnt;v[cnt]a*k;w[cnt]b*k;s-k;k*2;}if(s){cnt;v[cnt]a*s;w[cnt]b*s;}}ncnt;for(inti1;in;i)for(intj0;jV;j){f[i][j]f[i-1][j];if(v[i]j)f[i][j]max(f[i][j],f[i-1][j-v[i]]w[i]);}coutf[n][V];return0;}代码2(一维数组)#includebits/stdc.husingnamespacestd;constintN1100010,M200010;//NN*logSintn,V,cnt,v[N],w[N],f[M];intmain(){cinnV;for(inti1;in;i){inta,b,s;cinabs;intk1;while(ks){cnt;v[cnt]a*k;w[cnt]b*k;s-k;k*2;}if(s){cnt;v[cnt]a*s;w[cnt]b*s;}}ncnt;for(inti1;in;i)for(intjV;jv[i];j--)f[j]max(f[j],f[j-v[i]]w[i]);coutf[V];return0;}结果
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

CNN与VGG实现珊瑚识别:三个PyTorch脚本打通图像分类全流程 2026/10/2 2:35:42

CNN与VGG实现珊瑚识别:三个PyTorch脚本打通图像分类全流程

简介:PyTorch环境下的VGG卷积神经网络珊瑚种类识别代码包,面向深度学习入门者与海洋生物图像分类应用场景,适合希望掌握CNN训练全流程的读者。压缩包共8个文件,包含3个Python脚本(01生成txt.py负责生成训练列表&#x…

阅读更多 →
把自己的“TBL深度解剖报告”称为“AI手术刀” 2026/10/2 2:35:36

把自己的“TBL深度解剖报告”称为“AI手术刀”

引子:一个奇怪的比喻他在一篇文章里,把自己的“TBL深度解剖报告”称为“AI手术刀”。初看这个比喻,很多人会觉得别扭——一个做技术评级的,为什么要把自己比作手术刀?但如果你把他过去二十多年的路径摊开看&#xff0c…

阅读更多 →
为什么你的Java面试总是挂?这5个坑别踩 2026/10/2 2:35:36

为什么你的Java面试总是挂?这5个坑别踩

坑一:只背八股,不懂场景HashMap的扩容机制背得滚瓜烂熟,面试官问“为什么默认容量是16?”你愣住。ConcurrentHashMap的分段锁说得头头是道,再问“1.8为什么改成CAS加synchronized?”你开始重复第一句。八股…

阅读更多 →
HarmonyOS 7 AbilityAccessCtrl + ArkUI:权限弹窗重入治理与提审证据链【鸿蒙心迹】 2026/10/2 2:35:36

HarmonyOS 7 AbilityAccessCtrl + ArkUI:权限弹窗重入治理与提审证据链【鸿蒙心迹】

这次提审前自测,我故意连续点了三次“扫描讲义”。结果权限说明弹层叠了两层,系统授权请求也被触发了两次。功能最终能用,却很难向审核人员解释:应用究竟在什么场景申请相机权限,用户拒绝后会发生什么。 Demo 叫 Permi…

阅读更多 →
21 QPS 只有 100,业务要 1000:AIGC 接口的成本与并发设计 2026/10/2 2:35:36

21 QPS 只有 100,业务要 1000:AIGC 接口的成本与并发设计

面试官看着简历上那个 AI 客服项目,问了一句很实在的话: "你们这个问答接口,压测过吗?QPS 能到多少?" 候选人不假思索:"我们用了 Spring Boot,Tomcat 线程池默认 200,理论上没问题。" 面试官接了一句:"假设上游大模型 API 给你的配额,一…

阅读更多 →
2026 后端 AI 集成实战:Spring AI 2.0、MCP 协议与 Agent 内嵌的三条落地路径 2026/10/2 2:35:36

2026 后端 AI 集成实战:Spring AI 2.0、MCP 协议与 Agent 内嵌的三条落地路径

2026 后端 AI 集成实战:Spring AI 2.0、MCP 协议与 Agent 内嵌的三条落地路径 2026 年的后端 AI 集成,已经从"能不能调通一个大模型接口"变成了"怎么把模型能力稳定地收进现有 Java 系统的工程问题"。本文面向已有 Spring Boot / Ja…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉