当前位置: 首页 > news >正文

背包问题(模板)

目录

01背包:

完全背包:

多重背包(范围0-100):

混合背包:

分组背包:

二维费用的背包问题:

背包问题求方案数:

01背包:

从最大容量开始遍历到当前,防止重复

void solve()
{int n,m,v,w;cin>>n>>m;for(int i=1;i<=n;i++){cin>>v>>w;for(int j=m;j>=v;j--){dp[j]=max(dp[j],dp[j-v]+w);}}cout<<dp[m]<<endl;return ;
}

完全背包:

从当前容量遍历到最大,与01背包恰好相反

void solve()
{int n,m,v,w;cin>>n>>m;for(int i=1;i<=n;i++){cin>>v>>w;for(int j=v;j<=m;j++){dp[j]=max(dp[j],dp[j-v]+w);}}cout<<dp[m]<<endl;return ;
}

多重背包(范围0-100):

范围小的时候适用,将有数量都转为1,转化为01背包

void solve()
{int n,m,v[101001],w[101001],ans=1,a,b,c;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a>>b>>c;for(int j=1;j<=c;j++){v[ans]=a;w[ans]=b;ans++;}}for(int i=1;i<=ans;i++){for(int j=m;j>=v[i];j--){dp[j]=max(dp[j],dp[j-v[i]]+w[i]);}}cout<<dp[m]<<endl;return ;
}

混合背包:

void solve()
{int n,m;cin>>n>>m;for (int i=1;i<=n;i++) {int v,w,s;cin>>v>>w>>s;if(s==0)//当完全背包做{for(int j=v;j<=m;j++) dp[j] = max(dp[j],dp[j-v]+w);}else //转化为01背包{if(s==-1)s=1;for(int k=1;k<=s;k<<=1){for(int j=m;j>=v*k;j--){dp[j]=max(dp[j],dp[j-v*k]+w*k);}s-=k;}if(s){for(int j=m;j>=s*v;j--){dp[j]=max(dp[j],dp[j-v*s]+w*s);	}}}}cout<<dp[m]<<endl; return ;
}

分组背包:

signed main()
{int n,m,s,w[1010],v[1010];cin>>n>>m;while(n--){cin>>s;for(int i=1;i<=s;i++)cin>>v[i]>>w[i];for(int j=m;j>=0;j--){for(int k=1;k<=s;k++){if(j>=v[k])dp[j]=max(dp[j],dp[j-v[k]]+w[k]);}}}cout<<dp[m]<<endl;return 0;
}

二维费用的背包问题:

除体积限制外多了质量限制

void solve()
{int n,v,m;cin>>n>>v>>m;for (int i=1;i<=n;i++) {int a,b,w;cin>>a>>b>>w;for(int j=v;j>=a;j--){for(int k=m;k>=b;k--){dp[j][k]=max(dp[j][k],dp[j-a][k-b]+w);}}}cout<<dp[v][m]<<endl; return ;
}

背包问题求方案数:

signed main()
{int n,m,v,w;cin>>n>>m;for(int i=0;i<=m;i++)cnt[i]=1;for(int i=1;i<=n;i++){cin>>v>>w;for(int j=m;j>=v;j--){int t=dp[j-v]+w;if(t>dp[j]){dp[j]=t;cnt[j]=cnt[j-v];}else if(t==dp[j]){cnt[j]=(cnt[j]+cnt[j-v])%mod;}}}cout<<cnt[m]<<endl;return 0;
}

今日推荐音乐:我想我不够好  迷失幻境

下一篇:子数组的解释与专题

相关文章:

背包问题(模板)

目录 01背包&#xff1a; 完全背包&#xff1a; 多重背包&#xff08;范围0-100&#xff09;&#xff1a; 混合背包&#xff1a; 分组背包&#xff1a; 二维费用的背包问题&#xff1a; 背包问题求方案数&#xff1a; 01背包&#xff1a; 从最大容量开始遍历到当前&…...

docker容器创建私有仓库(第三篇)

目录 六、创建私有仓库 七、Docker资源限制 7.1、CPU使用率 7.2、CPU共享比例 7.3、CPU周期限制 7.4、CPU核心限制 7.5、CPU 配额控制参数的混合案例 7.6、内存限制 7.7、Block IO 的限制 7.8、限制bps 和iops 8、Docker数据持久化 8.1、数据持久化介绍 8.2、Volum…...

Eureka 学习笔记4:客户端 DiscoveryClient

版本 awsVersion ‘1.11.277’ DiscoveryClient # cacheRefreshTask // 配置shouldFetchRegistry if (clientConfig.shouldFetchRegistry()) {// 配置client.refresh.intervalint registryFetchIntervalSeconds clientConfig.getRegistryFetchIntervalSeconds();// 配置expB…...

【方法】PDF可以转换成Word文档吗?如何操作?

很多人喜欢在工作中使用PDF&#xff0c;因为PDF格式可以准确地保留文档的原始格式&#xff0c;比如字体、图像、布局和颜色等。 但如果编辑文档的话&#xff0c;PDF还是没有Word文档方便。那可以将PDF转换成Word格式&#xff0c;再来编辑吗&#xff1f;如何操作呢&#xff1f;…...

AlphaControls crack

AlphaControls crack AlphaControls-一组通用和一些独特的组件&#xff0c;支持皮肤(AlphaSkins)&#xff0c;并具有一些附加功能。所有皮肤元素都可以有自己的属性&#xff0c;用于高级绘制渐变、逼真的框架、半透明和模糊的阴影。图形功能实时生成所有计算和绘图。添加了用于…...

论文笔记——Influence Maximization in Undirected Networks

Influence Maximization in Undirected Networks ContributionMotivationPreliminariesNotations Main resultsReduction to Balanced Optimal InstancesProving Theorem 3.1 for Balanced Optimal Instances Contribution 好久没发paper笔记了&#xff0c;这篇比较偏理论&…...

Stable Diffusion - SDXL 1.0 全部样式设计与艺术家风格的配置与提示词

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132072482 来源于 Anna Dittmann 安娜迪特曼&#xff0c;艺术家风格的图像&#xff0c;融合幻想、数字艺术、纹理等样式。 SDXL 是 Stable Diffus…...

Hbase pe 压测 OOM问题解决

说明&#xff1a;本人使用CDH虚拟机搭建了Hbase集群&#xff0c;但是在压测的时发现线程多个的时候直接回OOM,记录一下 执行命令 hbase pe --nomapred --oneContrue --tablerw_test_1 --rows1000 --valueSize100 --compressSNAPPY --presplit10 --autoFlushtrue randomWrite …...

问题解决——datagrip远程连接虚拟机中ubuntu的mysql失败

问题解决——datagrid远程连接虚拟机中ubuntu的mysql失败 情况&#xff1a;datagrip远程win11系统下虚拟机里的ubuntu20.04的mysql&#xff0c;连接失败。 1 如果是防火墙没开放3306端口&#xff0c;则需要开放&#xff1a;linux 3306端口无法连接 无法通过防火墙的解决办法 …...

【晚风摇叶之随机密码生成器】随机生成密码

需求&#xff1a;想要生成位数不低于16的随机密码&#xff0c;而且要包含大小写字母&#xff0c;数字&#xff0c;特殊字符四类 用别人的在线生成器&#xff0c;生成的密码有个别没有数字或者特殊字符&#xff0c;验证方式就是&#xff0c;生成几个长度是4的密码&#xff0c;看…...

Spring Cache

什么是Spring Cache&#xff1f; Spring Cache是Spring框架的一个模块&#xff0c;它提供了对应用程序方法级别的缓存支持。通过使用Spring Cache&#xff0c;您可以在方法的结果被计算后&#xff0c;将其缓存起来&#xff0c;从而避免相同输入导致的重复计算。 Spring Cache…...

em3288 linux_4.19 sd卡调试

默认配置&#xff0c;根据实际配置即可。...

前端vue uni-app cc-countdown倒计时组件

随着技术的不断发展&#xff0c;传统的开发方式使得系统的复杂度越来越高。在传统开发过程中&#xff0c;一个小小的改动或者一个小功能的增加可能会导致整体逻辑的修改&#xff0c;造成牵一发而动全身的情况。为了解决这个问题&#xff0c;我们采用了组件化的开发模式。通过组…...

fifo读写的数据个数

fifo IP核设置读写个数 如果不勾选精确值&#xff0c;则统计的当前写入和待读出的数据为估计值&#xff0c;可能会相差2个左右。且fifo设计的wr_data_count. wr_data_count&#xff1a;当前的fifo中剩余已经写入的数据。 rd_data_count&#xff1a;当前的fifo中剩余可以读出…...

Java之Map接口

文章目录 简述Map中key-value特点 Map接口的常用方法Map的主要实现类&#xff1a;HashMapHashMap概述 Map实现类之二&#xff1a;LinkedHashMapMap实现类之三&#xff1a;TreeMapMap实现类之四&#xff1a;Hashtable&#xff08;古老实现类&#xff09;Map实现类之五&#xff1…...

windows系统中的命令行可以用python,pip等命令(已在系统中添加过python环境变量),但是pycharm的terminal中无法使用。

如果你已经在Windows系统中添加了Python环境变量&#xff0c;那么在命令行中使用python和pip命令应该是没有问题的。但是在PyCharm的Terminal中无法使用这些命令&#xff0c;可能是因为PyCharm的Terminal使用的是自己的虚拟环境&#xff0c;而不是系统环境。 你可以尝试在PyCh…...

编译 OneFlow 模型

本篇文章译自英文文档 Compile OneFlow Models tvm 0.14.dev0 documentation 作者是 BBuf (Xiaoyu Zhang) GitHub 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架&#xff0c;适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 本文介…...

【kubernetes】k8s单master集群环境搭建及kuboard部署

k8s入门学习环境搭建 学习于许大仙: https://www.yuque.com/fairy-era k8s官网 https://kubernetes.io/ kuboard官网 https://kuboard.cn/ 基于k8s 1.21.10版本 前置环境准备 一主两从&#xff0c;三台虚拟机 CPU内存硬盘角色主机名IPhostname操作系统4C16G50Gmasterk8s-mast…...

0802|IO进程线程 day5 进程概念

一、进程的基础 1.1 什么是进程 1&#xff09;进程是程序的一次执行过程 程序&#xff1a;是静态的&#xff0c;它是存储在外存上的可执行二进制文件&#xff1b;进程&#xff1a;动态的概念&#xff0c;它是程序的一次执行过程&#xff0c;包括了进程的创建&#xff0c;调度、…...

4 Promethues监控主机和容器

目录 目录 1. 监控节点 1.1 安装Node exporter 解压包 拷贝至目标目录 查看版本 1.2 配置Node exporter 1.3 配置textfile收集器 1.4 启动systemd收集器 1.5 基于Docker节点启动node_exporter 1.6 抓取Node Exporter 1.7 过滤收集器 2. 监控Docker容器 2.1 运行cAdviso…...

保姆级教程:用iSYSTEM winIDEA和iC5000给S32K148烧录程序,附完整配置流程

从零掌握iSYSTEM工具链&#xff1a;S32K148开发板烧录与调试全流程实战第一次接触iSYSTEM的winIDEA和iC5000仿真器时&#xff0c;很多嵌入式开发者都会感到无从下手。不同于常见的开源工具链&#xff0c;这套专业级开发环境在汽车电子和工业控制领域有着广泛应用&#xff0c;尤…...

基于声卡与电流互感器的安全交流功率测量系统设计与实践

1. 项目概述&#xff1a;用声卡安全测量交流功率我一直对各种测量技术抱有浓厚的兴趣&#xff0c;毕竟“测量即认知”这句老话在今天依然适用。对于电力消耗和产出&#xff0c;没有什么比直接测量更能说明问题了。交流功率的测量&#xff0c;核心在于同时获取电压和电流的瞬时值…...

[智能体-81]:工程化智能体 = 模型做脑力拆解 + 框架做流程落地。前者是决策者,后者是管理者,tools/function call是内部员工;mcp server是外部资源;

一、全角色人设 & 对应技术组件角色定位对应技术模块核心职责决策者&#xff08;脑力大脑&#xff09;大模型 LLM理解目标、任务拆解、逻辑判断、分支决策、内容生成&#xff0c;负责 “想方案、定步骤”管理者&#xff08;流程总管&#xff09;智能体编排框架&#xff08;…...

FM3773 低功耗离线式恒流/恒压 PSR 控制器

概述 FM3773 是一种高性能的交流/直流用于电池充电器和适配器的电源控制器&#xff0c;内置 850V 功率三极管。该设备采用脉冲频率调制&#xff08;PFM&#xff09;的方法来建立非连续导通模式&#xff08;DCM&#xff09;反激式电源。 FM3773 提供精确的恒定电压&#xff0c;恒…...

基于Arduino与nRF24L01+的无线传感器平台设计与部署指南

1. 项目概述与设计思路如果你和我一样&#xff0c;喜欢在阳台或者小院子里种点蔬菜瓜果&#xff0c;那你肯定也遇到过这样的烦恼&#xff1a;出门几天&#xff0c;心里总惦记着家里的番茄苗是不是缺水了&#xff0c;小温室里的温度会不会太高。传统的温湿度计只能让你在现场读数…...

RevSSH反向SSH隧道:无公网IP设备的安全远程运维方案

1. 这不是又一个SSH封装工具——RevSSH解决的是“根本性连接悖论”你有没有遇到过这样的场景&#xff1a;一台部署在客户内网的嵌入式设备&#xff0c;没有公网IP&#xff0c;NAT穿透失败&#xff0c;防火墙策略死死锁住所有入向端口&#xff0c;连ICMP都被禁了&#xff1b;或者…...

通过Taotoken实现Hermes Agent自定义模型供应商接入

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过Taotoken实现Hermes Agent自定义模型供应商接入 Hermes Agent是一个流行的AI智能体开发框架&#xff0c;它支持通过配置自定义…...

告别多头对接!DMXAPI 为企业打造国产大模型 “统一入口”

一、企业 AI 落地的普遍痛点&#xff1a;被接口和平台消耗的成本在企业数字化转型的浪潮中&#xff0c;AI 大模型已经成为标配&#xff0c;但很多企业在落地时&#xff0c;都会陷入一个共同的困境&#xff1a;为了满足不同业务场景的需求&#xff0c;需要同时对接 DeepSeek、阿…...

Redis 客户端连接详解

Redis 客户端连接详解 引言 Redis 是一款高性能的内存数据结构存储系统,常用于缓存、会话管理、实时排行榜等功能。客户端连接是 Redis 生态系统中的重要组成部分,本文将详细介绍 Redis 客户端连接的相关知识,包括连接方式、连接配置、连接管理等方面。 Redis 客户端连接…...

WarcraftHelper:让经典魔兽争霸3完美适配现代电脑的终极解决方案

WarcraftHelper&#xff1a;让经典魔兽争霸3完美适配现代电脑的终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代操…...