二进制分组背包优化

ops/2024/10/18 14:26:48/

前言:好久没有写分组背包了,写一个二进制优化的背包练练手


在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;#define int long long 
int n,w;
const int N = (int)1e7;
struct node{int value,weight;
}sto[N];
int dp[40004];signed main(){cin >> n >> w;int idx = 0;for(int i=1;i<=n;i++){int x,y,z; cin >> x >> y >> z;int c = 1;while(z>c){sto[++idx].value = x * c;sto[idx].weight = y * c;z -= c;c <<= 1; }sto[++idx].value = x * z;sto[idx].weight = y * z;}for(int i=1;i<=idx;i++){for(int j=w;j>=sto[i].weight;j--){dp[j] = max(dp[j],dp[j-sto[i].weight]+sto[i].value );}}cout << dp[w];return 0;
}

http://www.ppmy.cn/ops/92034.html

相关文章

go之依赖注入框架wire

一、wire Wire 是一个代码生成工具&#xff0c;它使用依赖注入自动连接组件。 二、快速使用 2.1 引入依赖 go get github.com/google/wire go install github.com/google/wire 2.2 demo教程 2.2.1 结构体定义 type A struct { }type B struct { }type AB struct {a Ab …

翰德恩赋能中国邮政信息科技产品创新系列培训

为了增强中邮信科公司需求分析工程师的专业素养&#xff0c;提升其业务需求和业务价值的挖掘能力&#xff0c;进而设计并交付满足用户期望的产品&#xff0c;提升用户体验&#xff0c;运营管理部于2024年4月至6月成功举办了六期需求分析工程师能力提升系列培训。 本次系列培训…

NLP——文本预处理-新闻主题分类案例

案例说明 1. 关于新闻主题分类任务 以一段新闻报道中的文本描述内容为输入, 使用模型帮助我们判断它最有可能属于哪一种类型的新闻, 这是典型的文本分类问题, 我们这里假定每种类型是互斥的, 即文本描述有且只有一种类型. 1. 数据文件预览 """ 文件说明: tr…

ThinkPHP 8框架中实现动态分页,根据是否传递了分页参数来决定是否执行分页

在ThinkPHP 8框架中实现动态分页&#xff0c;可以根据是否传递了分页参数来决定是否执行分页。以下是一个简单的示例&#xff1a; use think\facade\Db;// 假设我们有一个User模型&#xff0c;并且我们想要分页查询用户数据 $page request()->param(page, 1); // 获取请求…

PySide6||QPushButton的QSS样式

1、狗狗拜按钮 QQ202484-03338 (online-video-cutter.com) /* QPushButton的基本样式 */ QPushButton { background-image:url(:/xxx/第1帧.png); /* 设置背景图片 */ background-repeat: no-repeat; /* 不重复背景图片 */ background-position: center; /* 将背景图片居中…

如何修改pip仓库地址以加速Python包安装

如何修改pip仓库地址以加速Python包安装 如何修改pip仓库地址以加速Python包安装概述1. 查找可用的镜像源2. 使用命令行参数临时修改源3. 修改 pip 配置文件永久修改源3.1 Windows系统3.2 macOS/Linux系统 4. 使用环境变量修改源5. 验证源是否修改成功6. 总结 如何修改pip仓库地…

《计算机网络 - 自顶向下方法》阅读笔记

《计算机网络 - 自顶向下方法》阅读笔记 应用层、运输层、网络层、数据链路层 计算机网络和因特网&#xff1a; 因特网&#xff1a; ​ 是一个世界范围的计算机网络&#xff0c;互联了全世界的计算机设备 计算机设备&#xff1a;手机&#xff0c;电脑&#xff0c;游戏机&#…

【Java EE】进程和线程的区别和联系

进程和线程的区别与联系 在现代计算机科学中&#xff0c;理解进程和线程的概念对于高效编程和系统设计至关重要。进程和线程都是操作系统并发执行的基本单元&#xff0c;但它们在资源管理、执行环境、通信方式等方面存在显著区别和联系。 进程和线程的区别 1. 基本概念 进程…