背包问题(模板)
目录
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背包: 完全背包: 多重背包(范围0-100): 混合背包: 分组背包: 二维费用的背包问题: 背包问题求方案数: 01背包: 从最大容量开始遍历到当前&…...
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,因为PDF格式可以准确地保留文档的原始格式,比如字体、图像、布局和颜色等。 但如果编辑文档的话,PDF还是没有Word文档方便。那可以将PDF转换成Word格式,再来编辑吗?如何操作呢?…...
AlphaControls crack
AlphaControls crack AlphaControls-一组通用和一些独特的组件,支持皮肤(AlphaSkins),并具有一些附加功能。所有皮肤元素都可以有自己的属性,用于高级绘制渐变、逼真的框架、半透明和模糊的阴影。图形功能实时生成所有计算和绘图。添加了用于…...
论文笔记——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笔记了,这篇比较偏理论&…...
Stable Diffusion - SDXL 1.0 全部样式设计与艺术家风格的配置与提示词
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132072482 来源于 Anna Dittmann 安娜迪特曼,艺术家风格的图像,融合幻想、数字艺术、纹理等样式。 SDXL 是 Stable Diffus…...
Hbase pe 压测 OOM问题解决
说明:本人使用CDH虚拟机搭建了Hbase集群,但是在压测的时发现线程多个的时候直接回OOM,记录一下 执行命令 hbase pe --nomapred --oneContrue --tablerw_test_1 --rows1000 --valueSize100 --compressSNAPPY --presplit10 --autoFlushtrue randomWrite …...
问题解决——datagrip远程连接虚拟机中ubuntu的mysql失败
问题解决——datagrid远程连接虚拟机中ubuntu的mysql失败 情况:datagrip远程win11系统下虚拟机里的ubuntu20.04的mysql,连接失败。 1 如果是防火墙没开放3306端口,则需要开放:linux 3306端口无法连接 无法通过防火墙的解决办法 …...
【晚风摇叶之随机密码生成器】随机生成密码
需求:想要生成位数不低于16的随机密码,而且要包含大小写字母,数字,特殊字符四类 用别人的在线生成器,生成的密码有个别没有数字或者特殊字符,验证方式就是,生成几个长度是4的密码,看…...
Spring Cache
什么是Spring Cache? Spring Cache是Spring框架的一个模块,它提供了对应用程序方法级别的缓存支持。通过使用Spring Cache,您可以在方法的结果被计算后,将其缓存起来,从而避免相同输入导致的重复计算。 Spring Cache…...
em3288 linux_4.19 sd卡调试
默认配置,根据实际配置即可。...
前端vue uni-app cc-countdown倒计时组件
随着技术的不断发展,传统的开发方式使得系统的复杂度越来越高。在传统开发过程中,一个小小的改动或者一个小功能的增加可能会导致整体逻辑的修改,造成牵一发而动全身的情况。为了解决这个问题,我们采用了组件化的开发模式。通过组…...
fifo读写的数据个数
fifo IP核设置读写个数 如果不勾选精确值,则统计的当前写入和待读出的数据为估计值,可能会相差2个左右。且fifo设计的wr_data_count. wr_data_count:当前的fifo中剩余已经写入的数据。 rd_data_count:当前的fifo中剩余可以读出…...
Java之Map接口
文章目录 简述Map中key-value特点 Map接口的常用方法Map的主要实现类:HashMapHashMap概述 Map实现类之二:LinkedHashMapMap实现类之三:TreeMapMap实现类之四:Hashtable(古老实现类)Map实现类之五࿱…...
windows系统中的命令行可以用python,pip等命令(已在系统中添加过python环境变量),但是pycharm的terminal中无法使用。
如果你已经在Windows系统中添加了Python环境变量,那么在命令行中使用python和pip命令应该是没有问题的。但是在PyCharm的Terminal中无法使用这些命令,可能是因为PyCharm的Terminal使用的是自己的虚拟环境,而不是系统环境。 你可以尝试在PyCh…...
编译 OneFlow 模型
本篇文章译自英文文档 Compile OneFlow Models tvm 0.14.dev0 documentation 作者是 BBuf (Xiaoyu Zhang) GitHub 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 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版本 前置环境准备 一主两从,三台虚拟机 CPU内存硬盘角色主机名IPhostname操作系统4C16G50Gmasterk8s-mast…...
0802|IO进程线程 day5 进程概念
一、进程的基础 1.1 什么是进程 1)进程是程序的一次执行过程 程序:是静态的,它是存储在外存上的可执行二进制文件;进程:动态的概念,它是程序的一次执行过程,包括了进程的创建,调度、…...
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…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
