混合背包(01+完全+多重背包大杂烩)

news2024/11/25 20:30:23

因为我们知道求解多重背包时,是将其进行二进制优化为01背包问题,那么我们就将01背包和多重背包看成一种情况,然后只要处理,完全背包和01背包问题即可(详细看下方代码)

 

 

 

#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int f[N],v[N],w[N],cnt,s[N],n,m,a,b,c;
void solve() {
	cin>>n>>m;
	for(int i=1; i<=n; i++) {
		cin>>a>>b>>c;
		if(c==-1) v[cnt]=a,w[cnt]=b,s[cnt++]=1;//01背包

		else if(c==0) v[cnt]=a,w[cnt]=b,s[cnt++]=0;//完全背包

		else { //多重背包二进制优化转化为01背包
			for(int k=1; k<=c; k<<=1) {
				v[cnt]=k*a;
				w[cnt]=k*b;
				s[cnt++]=1;//01背包标记为1
				c-=k;
			}
			if(c>0) {
				v[cnt]=c*a;
				w[cnt]=c*b;
				s[cnt++]=1;
			}
		}
	}
	for(int i=1; i<=cnt; i++) {
		if(s[i]==1) {//01背包情况
			for(int j=m; j>=v[i]; j--) {
				f[j]=max(f[j],f[j-v[i]]+w[i]);
			}
		} else { //完全背包
			for(int j=v[i]; j<=m; j--) {
				f[j]=max(f[j],f[j-v[i]]+w[i]);
			}
		}
	}
	cout<<f[m];
}
int main() {

	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	solve();
	return 0;
}

over~

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

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

相关文章

leetcode 965.单值二叉树

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;单值二叉树 思路&#xff1a; 让当前的根节点与左孩子节点与右孩子节点判断&#xff0c;若相等则继续向下分治&#xff0c;让左孩子与右孩子当作新的根节点继续判断&#xff0c;直到某个节点不相等。 1️⃣ 代码&#x…

JUC常用4大并发工具类详解

什么是 JUC JUC 就是 java.util.concurrent 包,这个包俗称 JUC,里面都是解决并发问题的一些东西,该包的位置位于 java 下面的 rt.jar 包下面。 JUC 中 4 大常用并发工具类 CountDownLatch CyclicBarrier Semaphore ExChanger CountDownLatch CountDownLatch,俗称闭锁,作用…

关于 PostgreSQL 删除数据库 - 命令行删除,报错数据库不存在,pgadmin 报错存在会话链接 导致无法删除数据库问题

序言 测试环境&#xff1a; Windows 10问题 笔者尝试过在 cmd 命令行&#xff0c;使用PostgreSQL 的 psql 工具登录 postgresql&#xff0c;删除某个有问题的数据库&#xff0c;准备新建重载该数据库时&#xff0c;发现 DROP DATABASE database_name &#xff0c;竟然报错该…

esp32-cam红外实时监控报警系统(巴发云和邮箱同时推送)

esp32-cam红外实时监控报警系统 设想-巴发云转折-照片数量限制代码避开巴发云照片限制邮箱的坑同时我的巴发云微信也受到了提醒报警&#xff0c;虽然没有图片显示。 设想-巴发云 我想做一个人体红外传感器发现人体报警&#xff0c;同时给我手机发报警提醒&#xff0c;同时发送…

《数据结构》数据结构概念,顺序表,链表

目录 1. 为什么学习数据结构&#xff1f; 2. 数据结构 2.1. 数据 2.2. 逻辑结构 2.3. 存储结构 2.4. 操作 3. 算法 3.1. 算法与程序 3.2. 算法与数据结构 3.3. 算法的特性 3.4. 如何评价一个算法的好坏 4. 线性表 4.1. 顺序表 4.2. 单向链表 4.3. 单向循环链表&…

使用NVIDIA FX Composer验证多纹理合成效果

最近项目上有一个需求&#xff0c;需要将4张带透明通道纹理合成为一张&#xff0c;并且每张纹理指定一个全局透明度。由于纹理过多&#xff0c;合成效果无法保证&#xff0c;为了减少项目的风险&#xff0c;领导希望我先快速验证一下我们讨论的方法是否能完成项目的要求。因此我…

GO语言泛型

set一般没什么不方便的 但是使用GET 需要使用类型断言,将取出来的数据转为预期数据, 空接口本身是一个装箱,会产生内存逃逸和多一部分空间. 于是1.17GO使用泛型. 泛型实现: 分析可执行文件后:发现 也就是泛型会为每个数据类型都生产一套代码,导致可执行文件大小增加,并且使用…

在企业使用jmeter开展实际的接口自动化测试工具

在企业使用jmeter开展实际的接口自动化测试工具&#xff0c;建议按如下操作流程&#xff0c; 可以使整个接口测试过程更规范&#xff0c;更有效。 接口自动化的流程&#xff1a; 1、获取到接口文档&#xff1a;swagger、word、excel ... 2、熟悉接口文档然后设计测试用例&am…

关于AES 和 BASE64 的理解

BASE64 首先 base64 是一种编码方式&#xff0c;它的字符集由64个不同字符组成&#xff08;A-Z、a-z、0-9和两个额外字符/&#xff09;&#xff0c;因此每个Base64字符都占用6个比特&#xff08;2^6 64&#xff09; Base64编码后的数据长度 4 * ceil(原始数据长度 / 3) 其中…

echarts 横向柱状图 刻度标签

echarts 横向柱状图 刻度标签 怎么调试都不左对齐 将width去掉固定宽度 echarts会自适应

如何录音转文字:探寻声音的文字之舞

随着科技的飞速进步&#xff0c;人们对于信息的传递和记录变得越发便捷。在这个数字化时代&#xff0c;录音转文字技术无疑是一颗璀璨的明珠&#xff0c;它让声音和文字在交织中跳跃&#xff0c;为我们带来了新的感知和体验。在这篇文章中&#xff0c;我们将深入探讨录音转文字…

DCDC芯片选型

一、BUCK芯片选型 最初MP2307特别好用&#xff0c;是由美国MPS公司推出

信息摘要 秘钥签名 数字签名 数字证书 数字验证 这都是什么东西?

信息摘要 秘钥签名 数字签名 数字证书 数字验证 这都是什么东西&#xff1f; 一下遇见这么多相近的名词&#xff0c;实在是难以区分理解&#xff0c;还是从这些概念产生的缘由理解吧 先看需求&#xff1a;如何保证 数据 在网络中传输时正确的&#xff1f;有没有被篡改&#x…

【算法 -- LeetCode】(022) 括号生成

1、题目 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2&#xff1a; 输入…

软件测试测试用例

等价类&#xff1a;把输入的数据可以分为有效的数据和无效的数据 被测试的对象输入的数据&#xff1a; 1、有效的数据 2、无效的数据 测试一个产品&#xff0c;需要考虑它的正确场景&#xff0c;也需要考虑它的异常场景 边界值:边界值测试用例是针对等价类测试用例方法的补…

7月第2周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩)发布!

飞瓜轻数发布2023年7月10日-7月16日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的B…

【基于 GitLab 的 CI/CD 实践】04、GitLab Pipeline 实践(中)

目录 cache 缓存 cache:paths cache:key 缓存标记 cache:key:files 文件变化自动创建缓存 cache:key:prefix 组合生产 SHA 校验和 cache:policy 缓存策略 综合实例(一) 全局缓存 Pipeline 日志分析 Runner 缓存 综合实例&#xff08;二&#xff09; artifacts 制品…

NOTA P2 RM26,拮抗剂,与NOTA螯合剂偶联,结构式及相关应用介绍

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ 英文名称&#xff1a;NOTA-P2-RM26 规格标准&#xff1a;1g、5g、10g CAS&#xff1a;N/A 分子式&#xff1a;C73H110N18O19 分子量&#xff1a;1543.8NOTA-P2-RM26结构式&#xff1a; 反应机理&#xff1a; NOTA-P2-RM26&…

八股总结(七)MySQL与Redis

文章目录 MySQL基础概念数据库三大范式是什么&#xff1f; 索引 Redis基本概念1、为什么用Redis作为MySQL的缓存&#xff1f; 数据结构2、Redis包含哪些数据类型&#xff1f;使用场景是什么&#xff1f;3、五种场景的Redis数据类型底层都是怎么实现的&#xff1f; Redis线程网络…

Mysql如何查询出两个日期之间的所有日期?

问题&#xff1a; 有时我们在生成一些时间轴类似的数据时&#xff0c;要求数据库不管有没有指定天的数据&#xff0c;都要生成该时间节点&#xff0c;可用mysql.help_topic来解决此类问题&#xff0c;通过序列和日期函数相结合来满足我们的业务需求。 例如&#xff1a;查询20…