news 2026/6/19 6:14:34

通天之分组背包(洛谷P1757 )

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通天之分组背包(洛谷P1757 )

题目背景

直达通天路·小 A 历险记第二篇

题目描述

自 01 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。

输入格式

两个数 m,n,表示一共有 n 件物品,背包能承受的最大重量为 m。

接下来 n 行,每行 3 个数 ai​,bi​,ci​,表示物品的重量,利用价值,所属组数。

输出格式

一个数,最大的利用价值。

输入输出样例

输入 #1复制运行

45 3 10 10 1 10 5 1 50 400 2

输出 #1复制运行

10

说明/提示

0≤m≤1000,1≤n≤1000,1≤k≤100,ai​,bi​,ci​ 在int范围内。

/* //二维数组写法 #include <iostream> #include <vector> using namespace std; vector<vector<int>> w(101);//第i组第j件物品的重量 vector<vector<int>> v(101);//第i组第j件物品的利用价值 int dp[101][1001];//面对第i组物品 背包容量为j时的最大价值 int main(){ int m,n;//背包容量 物品件数 cin>>m>>n; for(int i=1;i<=n;i++){ int a,b,c; cin>>a>>b>>c; w[c].push_back(a); v[c].push_back(b); } for(int l=1;l<=100;l++){//遍历所有组 for(int i=1;i<=m;i++){//遍历背包容量 dp[l][i]=dp[l-1][i];//默认不选第l组物品 for(int j=0;j<w[l].size();j++){//遍历一组内所有物品 //可以选的时候比较选还时不选 if(i>=w[l][j]) dp[l][i]=max(dp[l][i],dp[l-1][i-w[l][j]]+v[l][j]); } } } cout<<dp[100][m]; return 0; } */ //一维数组写法 #include <iostream> #include <vector> using namespace std; vector<vector<int>> w(101);//第i组第j件物品的重量 vector<vector<int>> v(101);//第i组第j件物品的利用价值 int dp[1001];//背包容量为j时的最大价值 int main(){ int m,n;//背包容量 物品件数 cin>>m>>n; for(int i=1;i<=n;i++){ int a,b,c; cin>>a>>b>>c; w[c].push_back(a); v[c].push_back(b); } for(int l=1;l<=100;l++){//遍历所有组 for(int i=m;i>=0;i--){//遍历背包容量 要逆序 因为每个物品只能选择一次 for(int j=0;j<w[l].size();j++){//遍历一组内所有物品 //可以选的时候比较选还时不选 if(i>=w[l][j]) dp[i]=max(dp[i],dp[i-w[l][j]]+v[l][j]); } } } cout<<dp[m]; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 14:03:19

TIA博途虚拟机:三版本一体化自动化工程解决方案

TIA博途虚拟机&#xff1a;三版本一体化自动化工程解决方案 【免费下载链接】TIA博途虚拟机文件V17V16V15.1可直接使用 本仓库提供了一个TIA博途虚拟机文件&#xff0c;包含TIA Portal V17、V16和V15.1版本&#xff0c;用户可以直接使用这些虚拟机进行开发和测试。虚拟机文件已…

作者头像 李华
网站建设 2026/6/17 16:41:47

17、Puppet 4新特性与Hiera数据分离实践

Puppet 4新特性与Hiera数据分离实践 1. Puppet 4新特性 1.1 新风格与Ruby DSL的变化 Puppet 4引入了新的风格,例如: class syslog_ng {... } include syslog_ng同时,Puppet 4不再支持Ruby DSL。在之前,有人会将.rb文件作为清单放在模块中,这些.rb文件包含Ruby代码,主…

作者头像 李华
网站建设 2026/6/17 15:56:01

腾讯混元3D引擎:10秒生成专业级3D模型的终极解决方案

腾讯混元3D引擎&#xff1a;10秒生成专业级3D模型的终极解决方案 【免费下载链接】Hunyuan3D-1 项目地址: https://ai.gitcode.com/hf_mirrors/tencent/Hunyuan3D-1 在当今数字内容爆炸式增长的时代&#xff0c;腾讯混元3D引擎作为革命性的AI驱动3D内容生成工具&#x…

作者头像 李华
网站建设 2026/6/17 19:42:36

vscode-jest测试插件v5版本终极使用指南

vscode-jest测试插件v5版本终极使用指南 【免费下载链接】vscode-jest The optimal flow for Jest based testing in VS Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-jest vscode-jest是Visual Studio Code中最强大的Jest集成测试工具&#xff0c;专为提升…

作者头像 李华
网站建设 2026/6/19 4:53:15

一致性模型:重新定义高效图像生成的AI技术

一致性模型&#xff1a;重新定义高效图像生成的AI技术 【免费下载链接】diffusers-ct_imagenet64 项目地址: https://ai.gitcode.com/hf_mirrors/openai/diffusers-ct_imagenet64 在生成式AI快速发展的今天&#xff0c;研究人员不断追求更高效的图像生成方案。一致性模…

作者头像 李华
网站建设 2026/6/19 0:51:35

抖音买单系统谁发明的?

抖音买单系统是我国著名聚合支付头部品牌“网付”于2025年10月15日发明的系统&#xff0c;抖音买单系统是基于抖音技术开放平台研发的第三方抖音买单系统。网付是发明抖音买单系统的开山鼻祖。网付研发系统不仅支持抖音买单&#xff0c;还支持支付宝支付、微信支付、云闪付、数…

作者头像 李华