洛谷P1757 分组背包题解
题目传送门
题目描述
自 01 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。
输入格式
两个数 m,n,表示一共有 n 件物品,总重量为 m。
接下来 n 行,每行 3 个数 a,b,c
,a表示物品的重量,b利用价值,c所属组数。
输出格式
一个数,最大的利用价值。
输入输出样例
输入
45 3
10 10 1
10 5 1
50 400 2
输出
10
说明/提示
1≤m,n≤1000。
该题为分组背包问题,先在输入时把组号分好,之后与一般dp不同的是先枚举组号,再按一般dp处理
#include<bits/stdc++.h>
using namespace std;
int dp[1000001], a[1002][1002], n, m, k, w[1002], v[1002], z[1002], num;
int main() {cin >> m >> n;for(int i = 1; i <= n; i++) {cin >> w[i] >> v[i] >> k;z[k]++; //该物品所在的组总数加一num = max(num, k); //统计最大组a[k][z[k]] = i; //标记该数是第k组第几个}for(int l = 1; l <= num; l++) { //每组物品依次遍历for(int j = m; j >= 0; j--) { //遍历重量 for(int i = 1; i <= z[l]; i++) { //遍历该组所有数据 int px = a[l][i];if(j >= w[px]) {dp[j] = max(dp[j - w[px]] + v[px], dp[j]);}}}}cout << dp[m];}
洛谷P1757 分组背包题解相关推荐
- P1757 通天之分组背包题解
[题目链接] 洛谷P1757 [解题思路] 和题目名一样,本题就是一道分组背包的模板题,我来讲一下分组背包. 其实就是先将说有的数据按照题意分组,再做01背包即可. [CODE] #include&l ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
- 洛谷P1273 有线电视网 题解
洛谷P1273 有线电视网 题解 题目链接:P1273 有线电视网 题意: 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为 ...
- 洛谷P4568 [JLOI2011] 飞行路线 题解
洛谷P4568 [JLOI2011] 飞行路线 题解 题目链接:P4568 [JLOI2011] 飞行路线 题意: Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公 ...
- 洛谷P3426 [POI2005]SZA-Template 题解
洛谷P3426 [POI2005]SZA-Template 题解 题目链接:P3426 [POI2005]SZA-Template 题意:你打算在纸上印一串字母. 为了完成这项工作,你决定刻一个印章. ...
- 洛谷P1156 垃圾陷阱 题解浅谈刷表法与填表法
洛谷P1156 垃圾陷阱 题解&浅谈刷表法与填表法 填表法 :就是一般的动态规划,当前点的状态,可以直接用状态方程,根据之前点的状态推导出来. 刷表法:由当前点的状态,更新其他点的状态.需要注 ...
- 洛谷P1262 间谍网络题解
洛谷P1262 间谍网络题解 题目大意 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果 A 间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B.有些间谍收受贿赂,只要 ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
最新文章
- java web 怎么用solr_使用web过滤器增加solr后台登录验证
- pt-online-schema-change中update触发器的bug
- 计算机组成原理——概述
- 3PAR副总裁谈09年存储虚拟化
- CSS三角制作(HTML、CSS)
- 如何在 Mac 上查找路由器 IP 地址?
- nullnullvc中加花
- ctags linux,ctags --- 每天一个 Linux 命令
- 获取枚举类型的字符串
- 【雷达与对抗】【2004.05】合成孔径雷达X波段发射机和频率分配单元的设计与实现
- 萤石摄像头实现web端监控预览以及录像回放
- HTML背景颜色为什么改变不了,css背景颜色不显示怎么解决
- 如何安装CentOS7.5
- 如何入门Python之Python基础教程详解
- Docker 下 jitsi-meet 视频服务器 安装部署
- python开发的项目管理软件_10 个超好用的免费开源项目管理软件
- MySQL-V5.7 压缩包版安装教程
- Bullshit Bingo
- Coding and Paper Letter(五十三)
- linux awk 排序,利用Shell中awk和sort命令合并同类数据后并依据某一列进行排序
热门文章
- 零基础学习HTML5
- Stetho 源码分析
- 【转】markdown表格中转义 “ | “符号
- 在谈声子谱计算的运动方程方法和动力学矩阵方法
- 【Google Play】内部测试版本分发设置 ( 测试链接 | 配置测试权限 | 下载测试应用 )
- 有关支付宝的沙箱环境
- Feign使用JPA分页类Page和Pageable抛出序列化异常
- 制作抓取APP崩溃和无响应日志的小工具
- MBSE建模学习之一:说说模块(Block)
- Python学习之路--Flask+MongoDB搭建Restful Server