分组背包类型

总结:

1.先循环体积,再循环每组内的物品,保证每组物品内只选一次。

 若调换位置,有可能每组内物品多选了。

2.num数组记录每组有多少个物品;

 belong数组记录每组物品的每一个物品的序列号是多少

很巧妙的方法

#include<bits/stdc++.h>
using namespace std;
int dp[1005], val[1005], w[1005], num[1005], belong[101][20];
int maxx, m, n, a, b, c;
int main()
{cin >> m >> n;for(int i = 1; i <= n; i++){cin >> a >> b >> c;val[i] = b;w[i] = a;maxx = max(maxx, c);num[c]++;belong[c][num[c]] = i;}for(int i = 1; i <= maxx; i++)for(int j = m; j >= 0; j--)for(int k = 1; k <= num[i]; k++)if(j >= w[belong[i][k]])dp[j] = max(dp[j], dp[j-w[belong[i][k]]]+val[belong[i][k]]);cout << dp[m];return 0;
}

转载于:https://www.cnblogs.com/lovezxy520/p/11348386.html

【题解】luogu P1757 通天之分组背包相关推荐

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

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

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

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

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

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

  4. P1757 通天之分组背包

    P1757 通天之分组背包 背包中的经典问题,我竟然不知道. 分组背包 就是每个物品有一个所属的小组,小组内的物品会冲突. 就是把01背包中的两个for换一下位置 01: for(i,1,kind) ...

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

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

  6. 洛谷 p1757 通天之分组背包(哈希,分组背包)2021-08-12

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

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

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

  8. P1757 通天之分组背包(动态规划 分组背包)

    思路:这就是一个分组背包的模板题 #include <bits/stdc++.h> using namespace std; int v,n,t; int x,tot=0; int g[2 ...

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

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

最新文章

  1. 淘宝李晓拴:淘宝网PHP电子商务应用
  2. 使用栈Stack实现队列Queue
  3. 添加到package_pycharm里面添加镜像库
  4. axios怎么封装,才能提升效率?
  5. 对列表中k之前和之后的元素分别进行逆序
  6. Android BroadcastReceiver示例教程
  7. python logging打印终端_python中那些小众但有用的自带标准库
  8. 自定义Json解析工具
  9. R_空间插值_必知必会(二)
  10. 作用 和会话期 进程组_进程 进程组 会话的关系及作用
  11. WinDbg 入门教程
  12. sqlite创建表格
  13. 大数据运维架构师培训(4):Oozie,Flume,Sqoop,Azkaban,Ranger
  14. 在MacOS上安装MacTex
  15. [BUGKU] [MISC]普通的二维码
  16. RAID 磁盘阵列与阵列卡
  17. vultr 安装docker
  18. 中国鼠标行业销售动态及营销形势分析报告(新版)2022-2027年
  19. 百度聚合时,label文字隐藏问题
  20. Jeet – 先进,直观,灵活的 CSS 网格系统

热门文章

  1. python人工智能——机器学习——特征工程
  2. 大数据WEB阶段总结
  3. 【前端2】js:原始类型,运算符,调试,页面加载,轮播图,Bom(对象,时钟),Dom(全选全不选,省市级联,隔行/触摸换色,表单校验)
  4. 【机器视觉】 measure_pairs算子
  5. 【Centos】Centos7.5取消自动锁屏功能
  6. python就业前景如何_2020年Python就业前景如何?就业岗位多不多?薪资高不高?...
  7. 关于jsp web项目,jsp页面与servlet数据不同步的解决办法(报错404、405等)即访问.jsp和访问web.xml中注册的/servlet/的区别
  8. oracle创建包 和调用,oracle创建函数和调用存储过程和调用函数的例子(区别)...
  9. php写文件 效率,php中读写文件与读写数据库的效率_PHP教程
  10. 1030 完美数列 (25 分)(c语言)