洛谷 p1757 通天之分组背包(哈希,分组背包)2021-08-12
题目背景
直达通天路·小 A 历险记第二篇
题目描述
自 01 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。
输入格式
两个数 m,n,表示一共有 n 件物品,总重量为 m。接下来 n 行,每行 3 个数 ai,bi,ci,表示物品的重量,利用价值,所属组数。
输出格式
一个数,最大的利用价值。
输入输出样例
输入
45 3
10 10 1
10 5 1
50 400 2
输出
10
说明/提示
1≤m,n≤1000。
这个题目不单只是个套分组背包板子的题目,我认为它还结合了hash的思想
题目中并没有说明有多少组物品,这点需要分析
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>using namespace std;
const int N = 1000;
int w[N+10][N+10];
int v[N+10][N+10];
int dp[N+10];
int n,m;
int _hash[N+10];
int main()
{cin>>m>>n;int wei,val,grp;//重量,价值,组别int tmp=-1;for(int i=1;i<=n;i++){cin>>wei>>val>>grp;_hash[grp]++;//第grp组物品的个数w[grp][_hash[grp]]=wei;//第grp组物品中的第_hash[grp]个物品的重量v[grp][_hash[grp]]=val;tmp=max(tmp,grp);//最大组别编号}for(int i=1;i<=tmp;i++)//将最大组别编号tmp视作物品的组别数for(int j=m;j>=0;j--)//倒序遍历重量for(int k=1;k<=_hash[i];k++)//循环判断选or不选第i组物品中的第k个物品if(j>=w[i][k])dp[j]=max(dp[j], dp[j-w[i][k]]+v[i][k]);cout<<dp[m]<<endl;return 0;
}
有位博主用vector容器来做,我觉得这样做还挺巧妙的,放在这里学习学习:洛谷1757(分组背包)
洛谷 p1757 通天之分组背包(哈希,分组背包)2021-08-12相关推荐
- 洛谷 P1757 通天之分组背包
P1757 通天之分组背包 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品 ...
- 洛谷P1757 通天之分组背包 [2017年4月计划 动态规划06]
P1757 通天之分组背包 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品 ...
- 洛谷 P1757 通天之分组背包 C++ dp
题目背景 直达通天路·小 A 历险记第二篇 题目描述 自 0101 背包问世之后,小 A 对此深感兴趣.一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品 ...
- 洛谷P1757 通天之分组背包
题目链接:点击进入 思路 分组背包,套板子 代码 #include<iostream> #include<string> #include<map> //#incl ...
- 洛谷P1757 分组背包题解
题目传送门 题目描述 自 01 背包问世之后,小 A 对此深感兴趣.一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价 ...
- 洛谷P2214 [USACO14MAR]哞哞哞Mooo Moo(完全背包)
设a[i]为第i个农场的总音量,如果我们将a[i]减去a[i-1]-1(前提是a[i-1]不为0),设最终为b[i],就不难发现,其实就相当于完全背包问题,要我们用B种物品去,以最少的数量去填满容量为 ...
- 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵
洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...
- P1757 通天之分组背包题解
[题目链接] 洛谷P1757 [解题思路] 和题目名一样,本题就是一道分组背包的模板题,我来讲一下分组背包. 其实就是先将说有的数据按照题意分组,再做01背包即可. [CODE] #include&l ...
- 洛谷P1417 烹调方案
洛谷P1417 烹调方案 如果是一般的01背包的话 选的先后是没关系的 但是这题选的先后是有关系的,因为他的价值是随着时间而变化的, 而你的01背包是做不到先选2再选1的 那么我们就跟国王游戏一样 用 ...
最新文章
- 力扣(LeetCode)刷题,简单题(第8期)
- oracle多表关联查询报表,oracle多表关联查询和子查询
- SpringMVC介绍之Validation
- GPU Gems1 - 13 使用遮挡区间映射产生模糊的阴影(Generating Soft Shadows Using Occlusion Interval Maps)
- php获得可靠的精准的当前时间 ( 通过授时服务器 )
- @EnableAsync annotation metadata was not injected
- 对应猎豹网校的lua 视频教程 做的学习记录 前三课简单介绍1-3
- clickinrefresh.php,IDCZE_v3.0 IDCZE商业导航系统全新仿照114la网址导航 - 下载 - 搜珍网...
- 【转载】【凯子哥带你学Framework】Activity界面显示全解析(下)
- NDK开发简单demo
- 剑指Offer_编程题_16
- 王传福:电动汽车开始由政策与市场双轮驱动|电动车百人会2019
- word服务器无响应又没有保存怎么办,电脑突然死机Word没保存?教你一个小妙招,三秒快速恢复...
- mysql jdbc 绑定变量_「MySQL高级特性——绑定变量」- 海风纷飞Blog
- 【2013】【论文笔记】利用graphene产生THz——
- java中到底该不该用@author标识作者?
- 《人生要耐得住寂寞》
- 视频处理及MAX7456的图文解释
- Lead-follower因子:新闻共现股票收益的关联性研究
- 数据科学与大数据技术专业毕业设计选题