[C++][算法基础]分组背包问题(动态规划)

有 𝑁 组物品和一个容量是 𝑉 的背包。

每组物品有若干个,同一组内的物品最多只能选一个。
每件物品的体积是 v_{ij},价值是 w_{ij},其中 𝑖 是组号,𝑗 是组内编号。

求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。

输出最大价值。

输入格式

第一行有两个整数 𝑁,𝑉,用空格隔开,分别表示物品组数和背包容量。

接下来有 𝑁 组数据:

  • 每组数据第一行有一个整数 s_{i},表示第 𝑖 个物品组的物品数量;
  • 每组数据接下来有 s_{i} 行,每行有两个整数 v_{ij},w_{ij},用空格隔开,分别表示第 𝑖 个物品组的第 𝑗 个物品的体积和价值;
输出格式

输出一个整数,表示最大价值。

数据范围

0<𝑁,𝑉≤100
0<s_{i}≤100
0<v_{ij},w_{ij}≤100

输入样例
3 5
2
1 2
2 4
1
3 4
1
4 5
输出样例:
8

代码:

优化一维数组做法:

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;const int N = 110;
int n,m,s;
int f[N];
int w[N],v[N];int main(){cin>>n>>m;for(int i = 1;i <= n;i ++){cin>>s;for(int j = 1;j <= s;j ++){cin>>v[j]>>w[j];}for(int j = m;j >= 0;j --){for(int k = 1;k <= s;k ++){if(v[k] <= j){f[j] = max(f[j],f[j - v[k]] + w[k]);}}}}int res = f[m];cout<<res<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS CI/CD 持续集成 组件化专题二 Cocoapods /Cocoapods Packager 问题汇总

执行pod package xxx.podspec --force --no-mangle --exclude-deps --verbose 报错 warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BU…

Linux 静态IP地址修改与报错处理

目录 查看网卡信息 Ubuntu 16.04.5 LTS、Ubuntu 20.04.6 LTS Ubuntu 18.04.6 LTS Centos 8.0 修改IP地址 将IP地址置空 确认修改是否生效 查看网卡信息 ifconfig ifconfig -a Ubuntu 16.04.5 LTS、Ubuntu 20.04.6 LTS 修改配置 vim /etc/network/interfaces # This …

AI大模型探索之路-训练篇1:大语言模型微调基础认知

文章目录 前言一、微调技术概述二、微调的必要性三、大模型的微调方法四、微调过程中的技术细节五、微调后的模型评估与应用总结 前言 在人工智能的广阔研究领域内&#xff0c;大型预训练语言模型&#xff08;Large Language Models, LLMs&#xff09;已经成为推动技术革新的关…

一、路由基础

1.路由协议的优先级 路由器分别定义了外部优先级和内部优先级&#xff08;越小越优&#xff09; 路由选择顺序&#xff1a;外部优先级>>内部优先级&#xff08;相同时&#xff09; ①外部优先级&#xff1a;用户可以手工为各路由协议配置的优先级 ②内部优先级&#xf…

go开发环境安装配置(vscode)

安装 变量 $GOROOT 表示 Go 在你的电脑上的安装位置 $GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm $GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows $GOBIN 表示编译器和链接器的安装位置,默认是 $GOROOT/bin,Go 1.0.3可…

目标检测YOLO实战应用案例100讲-基于YOLOv5的目标检测与6D位姿估计算法研究(中)

目录 3.3 相机成像原理 3.3.1 坐标系的建立及关系 3.3.2 相机标定 3.3.3 相机畸变

天星金融普及个人养老金制度,共筑老龄友好型社会

在人口老龄化的浪潮中&#xff0c;我国正面临着日益严峻的养老挑战。据国家卫健委数据显示&#xff0c;预计到2035年&#xff0c;我国60岁及以上人口占总人口的比例将超过30%&#xff0c;构建老龄友好型社会已成为国家发展的重要任务。在这一背景下&#xff0c;个人养老金制度的…

OmniPlan Pro for Mac v4.8.0中文激活版 项目流程管理工具

OmniPlan Pro for Mac是一款功能强大的项目管理软件&#xff0c;它以其直观的用户界面和丰富的功能&#xff0c;帮助用户轻松管理各种复杂的项目。 OmniPlan Pro for Mac v4.8.0中文激活版 通过OmniPlan Pro&#xff0c;用户可以轻松创建任务&#xff0c;设置任务的开始和结束时…

Pulsar【部署 02】Pulsar可视化工具Manager安装使用

Pulsar Manager 是一个基于 web 的 GUI 管理和监视工具&#xff0c;可帮助管理员和用户管理和监视租户、命名空间、主题、订阅、代理、集群等&#xff0c;并支持对多个环境进行动态配置。 可视化工具Manager安装使用 1.Docker1.1 拉取镜像并启动1.2 设置用户名密码1.3 登录并添…

leetcode热题HOT 152. 乘积最大子数组

一、问题描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff08;该子数组中至少包含一个数字&#xff09;&#xff0c;并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 二、问题分析&#xff1a; 考虑到乘…

acwing算法提高之数据结构--并查集

目录 1 介绍2 训练3 参考 1 介绍 本专题用来记录并查集相关的题目。 并查集模板&#xff1a; //初始化 for (int i 1; i < n; i) { //n为结点数目p[i] i; }//查找 find(int x) {if (p[x] ! x) p[x] find(p[x]);return p[x]; }//合并 int pa find(a); int pb find(b)…

Java进阶知识点及案例总结(续2)

深浅拷贝 浅拷贝 开发中我们经常需要复制一个对象或数组&#xff0c;如果直接使用赋值&#xff0c;当改变复制之后的对象或数组时&#xff0c;原对向也会改变&#xff0c;拷贝时我们需要改变复制之后的对象或数组的值&#xff0c;但不改变原对象或数组的值。 浅拷贝和深拷贝…

openstack界面简单修改

openstack Ubuntu主题登录界面修改修改登陆界面背景登录框边缘添加透明效果修改登录界面logo更换站点图片更换项目logo图片 本实验基于VMware17&#xff0c;使用Ubuntu2310搭建openstack-B版 Ubuntu主题 以下配置只对Ubuntu主题生效 登录界面修改 原界面 关闭登录界面域名输…

LTD271次升级 | 网站/小程序可设访问IP的黑白名单 • 官微中心支持PDF等办公文件预览与并分享 • 订单退款显示更详尽明细

1、新增IP访问限制功能&#xff1b; 2、订单新增交易号显示与退款明细显示&#xff1b; 3、自定义地址增加四级地区&#xff1b; 4、Android版App优化文件功能&#xff1b; 5、已知问题修复与优化&#xff1b; 01 官微中心 1) 新增IP限制访问功能 允许或者禁止某些 IP 或…

信创需求激增,国产服务器操作系统赋能数字化转型

信创&#xff0c;即信息技术应用创新&#xff0c;是指在关键领域和环节推进信息技术的自主创新&#xff0c;构建安全可控的信息技术体系。随着数字化转型的加速&#xff0c;信创需求激增&#xff0c;国产服务器操作系统在其中扮演着至关重要的角色。国产服务器操作系统如何赋能…

WPF —— lCommand命令实例

首先在标签页面设置一个Button按钮 <Button Width"100" Height"40" Content"测试" ></Button> 1 创建一个类 继承于ICommand这个接口&#xff0c; 这个接口一般包含三部分&#xff1a; 俩个方法&#xff1a;一个判断指令是不是…

【树莓派】yolov5 Lite,目标检测,树莓派4B,推理v5lite-e_end2end.onnx,摄像头实时目标检测

文章目录 YOLOv5 Lite: 在树莓派上轻松运行目标检测1. 环境配置2. 克隆项目3. 安装依赖项4. 下载模型权重5. 理解end2end的含义6. 示例推理7. 文件介绍8. 把文件弄到树莓派4B执行9. 进一步尝试fp16的onnx&#xff08;行不通&#xff09;10. 视频流检测 这里有大概的环境配置&am…

淘宝图片搜索API接口:技术原理、使用方法与最佳实践指南

淘宝图片搜索API接口技术详解 在数字化时代&#xff0c;图片搜索已经成为一种高效、直观的信息检索方式。淘宝作为国内最大的电商平台&#xff0c;其图片搜索API接口对于提高购物体验和商家运营效率具有重要意义。本文将详细解析淘宝图片搜索API接口的技术原理、使用方法和注意…

WordPress安装报错常见问题

WordPress安装过程很简单&#xff0c;不过还是有些朋友会碰到安装WordPress出错的情况。前不久我们遇到Hostease的客户在安装wordpress的时候遇到安装wordpress出错。显示数据连接错误。 数据库连接失败 数据库连接失败是最常见的错误情况。 添加图片注释&#xff0c;不超过 …

ASP.NET集成客户关系管理的企业网站的设计与开发

摘 要 企业要在激烈的市场竞争中立于不败之地&#xff0c;就必须找一种全新的管理理念和管理手段&#xff0c;对其内部和外部资源进行有效的整合。新一代ERP产品正在向客户端和供应端延伸&#xff0c;客户端的延伸即是客户关系管理。对于每个企业来说客户管理的完善程度将直接…