前言:01型背包问题(一维)的链接:

https://blog.csdn.net/qq_56430444/article/details/118157798

完全背包问题链接:

https://blog.csdn.net/qq_56430444/article/details/118389012

01型背包问题的模板(二维):

1.状态:dp[i][j]表示状态i和状态j下背包所能装置的最大价值。

2.状态转移方程: if ( i>= w1[i] && j>=w2[j] ){ dp[i][j] = max ( dp[i-w1[j]][j-w2[j]]+v[j],dp[i][j] ) }

  3.循环方向:     for(枚举第一个状态,逆向)

for(枚举第二个状态,逆向)

决策(状态转移方程)

4.初始化:看题目而定

01型背包问题经典例题(二维):

1.音量调节:  这一题与往常题不同的是他将物品算作状态中,以及状态转移方程的不同,这里也在告诫我做题不要死做题,就是今年的河南省icpc七便士哪里,不要让思维固化。

#include<bits/stdc++.h>
using namespace std;
int n,bl,ml;
int dp[100][1200];
int h[100];
int main(){cin>>n>>bl>>ml;for(int i=1;i<=n;i++){cin>>h[i];}dp[0][bl]=1;for(int i=1;i<=n;i++){for(int j=0;j<=ml;j++){if(dp[i-1][j]&&(j+h[i])<=ml){dp[i][j+h[i]]=1;    //就是这里的状态转移方程让我感觉很突兀,但事实证明这是对}                       //的if(dp[i-1][j]&&(j-h[i])>=0){dp[i][j-h[i]]=1;}}}for(int i=ml;i>=0;i--){if(dp[n][i]){cout<<i<<endl;return 0;}}cout<<-1;return 0;
}

2.找啊找啊找GF(   <-_<-   搞acm的还想找女朋友?? ):这一题的新颖之处在于要用到两个dp数组,一个数组用于记录最多能找到的女朋友,另一个记录找这么多的女友所用到的最短时间,两个数组的下标含义都相同,并且由这句话:表示 sqybi 在保证 MM 数量的情况下花费的最少总时间是多少, 可以知道 女友的数量的优先级相同数目下的找女友所耗费的时间要高,这就可以判断if的先后顺序啦。

#include<bits/stdc++.h>
using namespace std;
int q[200],r[200],t[200];
int n,m,rp;
int dp[1200][1200];
int ti[1200][1200];
vector<int>ans[100001];
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>q[i]>>r[i]>>t[i];}cin>>m>>rp;int maxn=0,minn=100001;//枚举物品循环放在第一个for(int k=1;k<=n;k++){for(int i=m;i>=1;i--){for(int j=rp;j>=1;j--){if(i>=q[k]&&j>=r[k]){if(dp[i-q[k]][j-r[k]]+1>dp[i][j]){dp[i][j]=dp[i-q[k]][j-r[k]]+1;ti[i][j]=ti[i-q[k]][j-r[k]]+t[k];}else if((dp[i-q[k]][j-r[k]]+1)==dp[i][j]){if((ti[i-q[k]][j-r[k]]+t[k])<ti[i][j]){ti[i][j]=ti[i-q[k]][j-r[k]]+t[k];}}}if(maxn<=dp[i][j]){maxn=dp[i][j];ans[maxn].push_back(ti[i][j]);}}}}for(int i=0;i<ans[maxn].size();i++){if(minn>ans[maxn][i]){minn=ans[maxn][i];}}cout<<minn;
}

01型背包问题解题总结(二维)相关推荐

  1. 01背包问题动态规划(二维数组)

    01背包问题动态规划(二维数组) 问题描述 ​ 一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是W1,W2,-,Wn,它们的价值分别为C1,C2,-,Cn,求旅行者能获得 ...

  2. 第五讲 二维费用的背包问题 HD FATE(二维完全背包)

    FATE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. 概统 | 连续型概率分布——正态分布(二维)

    ​ 编辑 设二维连续型随机变量(X,Y)的联合概率密度为

  4. 连续型概率分布——正态分布(二维)

    1. 定义:设二维连续型随机变量(X,Y)的联合概率密度为 其中μ1,μ2,σ1,σ2,ρ均为常数,且σ1>0, σ2>0, |ρ|<1则称(X,Y)服从参数为μ1,μ2,σ1,σ2 ...

  5. JAVA描述算法和数据结构(01):稀疏数组和二维数组转换

    一.基本简介 1.基础概念 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵:与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵.定义非零元 ...

  6. java 二维数据结构_JAVA描述算法和数据结构(01):稀疏数组和二维数组转换

    一.基本简介 1.基础概念 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵:与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵.定义非零元 ...

  7. 【python】一篇讲透背包问题(01背包 完全背包 多重背包 二维费用背包)

    面对背包问题,有一个很重要的方程式:状态转移方程式 所以每一种背包问题我都会给出状态转移方程式 #01背包 什么是01背包型问题? 先给大家感受一下01背包型问题: 给定n种物品和一背包.物品i的重量 ...

  8. 潜水员 ← 二维费用的背包问题

    [题目来源] https://www.acwing.com/problem/content/1022/ [题目描述] 潜水员为了潜水要使用特殊的装备. 他有一个带2种气体的气缸:一个为氧气,一个为氮气 ...

  9. [01背包] 宠物小精灵之收服(01背包+二维费用背包+思维)

    文章目录 0. 前言 1. 01背包裸题 0. 前言 相关: [背包] 背包问题算法模板(模板) 1. 01背包裸题 1022. 宠物小精灵之收服 每个精灵仅被收服一次,故可以考虑 01 背包,是典型 ...

最新文章

  1. sql中如何统计各种零件的总数量_[Python]提取数据库中数据, 用人货场的分析方法, 对电商双十一促销活动结果数据进行复盘分析...
  2. 使用Redis分布式锁处理并发,解决超卖问题
  3. RMAN中catalog和nocatalog区别
  4. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法
  5. mysql的主要指标_mysql 主要性能指标
  6. postgresql 中int4rang类型项目应用
  7. Stylus Loader has been initialized using an options object that does not match the API schema.
  8. 【Java视频教程等百度云资源分享】
  9. php来源德育管理系统,西安交通大学城市学院学生服务中心互联网学生工作管理系统...
  10. linux云服务器,Tomcat服务器常见 The value for the useBean class attribute is invalid 错误
  11. 网络创业:网站盈利模式分析分类
  12. 在 Azure ML 上用 .NET 跑机器学习
  13. sigmoid函数和阶跃函数的Python代码比较 ← 斋藤康毅
  14. Python PEP8编码规范(中文版)
  15. 2021-04-24
  16. 2021毕业年的最后一躺
  17. 网站建设要怎么选择域名?有哪些小技巧?
  18. 中国版ChatGPT在哪些方面具有快速发展的机会?
  19. Redis源码剖析和注释(二十四)--- Redis Sentinel实现(哨兵操作的深入剖析)
  20. 【Java程序设计】实验七 网络通信

热门文章

  1. js删除数组所有元素
  2. 冷光美白仪器 使用说明 美白牙齿
  3. 现在主流单片机都有哪些
  4. 前端实现图片悬浮_css-transition和transform实现图片悬浮移动动画
  5. 服务器设置 白名单
  6. Deferred总结
  7. layui table中时间格式的问题
  8. word2vec简介、原理、缺陷及应用。
  9. 面向对象方法学的优点
  10. PP-OCR: 3.5M超轻量中英文OCR模型详解(四) 文本识别优化瘦身策略