题目背景
直达通天路·小 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相关推荐

  1. 洛谷 P1757 通天之分组背包

    P1757 通天之分组背包 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品 ...

  2. 洛谷P1757 通天之分组背包 [2017年4月计划 动态规划06]

    P1757 通天之分组背包 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品 ...

  3. 洛谷 P1757 通天之分组背包 C++ dp

    题目背景 直达通天路·小 A 历险记第二篇 题目描述 自 0101 背包问世之后,小 A 对此深感兴趣.一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品 ...

  4. 洛谷P1757 通天之分组背包

    题目链接:点击进入 思路 分组背包,套板子 代码 #include<iostream> #include<string> #include<map> //#incl ...

  5. 洛谷P1757 分组背包题解

    题目传送门 题目描述 自 01 背包问世之后,小 A 对此深感兴趣.一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价 ...

  6. 洛谷P2214 [USACO14MAR]哞哞哞Mooo Moo(完全背包)

    设a[i]为第i个农场的总音量,如果我们将a[i]减去a[i-1]-1(前提是a[i-1]不为0),设最终为b[i],就不难发现,其实就相当于完全背包问题,要我们用B种物品去,以最少的数量去填满容量为 ...

  7. 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵

    洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...

  8. P1757 通天之分组背包题解

    [题目链接] 洛谷P1757 [解题思路] 和题目名一样,本题就是一道分组背包的模板题,我来讲一下分组背包. 其实就是先将说有的数据按照题意分组,再做01背包即可. [CODE] #include&l ...

  9. 洛谷P1417 烹调方案

    洛谷P1417 烹调方案 如果是一般的01背包的话 选的先后是没关系的 但是这题选的先后是有关系的,因为他的价值是随着时间而变化的, 而你的01背包是做不到先选2再选1的 那么我们就跟国王游戏一样 用 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第8期)
  2. oracle多表关联查询报表,oracle多表关联查询和子查询
  3. SpringMVC介绍之Validation
  4. GPU Gems1 - 13 使用遮挡区间映射产生模糊的阴影(Generating Soft Shadows Using Occlusion Interval Maps)
  5. php获得可靠的精准的当前时间 ( 通过授时服务器 )
  6. @EnableAsync annotation metadata was not injected
  7. 对应猎豹网校的lua 视频教程 做的学习记录 前三课简单介绍1-3
  8. clickinrefresh.php,IDCZE_v3.0 IDCZE商业导航系统全新仿照114la网址导航 - 下载 - 搜珍网...
  9. 【转载】【凯子哥带你学Framework】Activity界面显示全解析(下)
  10. NDK开发简单demo
  11. 剑指Offer_编程题_16
  12. 王传福:电动汽车开始由政策与市场双轮驱动|电动车百人会2019
  13. word服务器无响应又没有保存怎么办,电脑突然死机Word没保存?教你一个小妙招,三秒快速恢复...
  14. mysql jdbc 绑定变量_「MySQL高级特性——绑定变量」- 海风纷飞Blog
  15. 【2013】【论文笔记】利用graphene产生THz——
  16. java中到底该不该用@author标识作者?
  17. 《人生要耐得住寂寞》
  18. 视频处理及MAX7456的图文解释
  19. Lead-follower因子:新闻共现股票收益的关联性研究
  20. 数据科学与大数据技术专业毕业设计选题

热门文章

  1. GEE-Scholars 水体动态监测-河南水灾案例
  2. vsnprintf 变参
  3. 镜像神经元疗法的临床作用,镜像神经元如何刺激
  4. Liquibase学习
  5. python中最小公倍数函数_Python实现的求解最小公倍数算法示例
  6. 阿里巴巴与全球最大P2P平台Lending Club达成合作
  7. 嘘!偷偷看下阿里技术大牛的私人书单
  8. Linux之sudo滥用提权
  9. 移动端图片自适应,img固定宽高,怎么解决不同尺寸图片显示会变形的问题
  10. 牛顿前插公式与后插公式简单例子 BIT数值分析5.5