题目链接 https://ac.nowcoder.com/acm/contest/58860

分组背包问题

有 N N N 组物品和一个容量是 V V V 的背包。
每组物品有若干个,同一组内的物品最多只能选一个。
每件物品的体积是 v i j v_{ij} vij​,价值是 w i j w_{ij} wij​,其中 i i i 是组号, j j j 是组内编号。
求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。
输出最大价值。

输入格式

第一行有两个整数 N N N, V V V,用空格隔开,分别表示物品组数和背包容量。
接下来有 N N N 组数据:

  • 每组数据第一行有一个整数 S i S_i Si​ , 表示第 i 个物品组的物品数量;
  • 每组数据接下来又 S i S_i Si​ 行 , 每行有两个整数 v i j v_{ij} vij​ , w i , j w_{i,j} wi,j​ ,用空格隔开,分别表示第 i i i 个物品组的第 j j j 个物品的体积和价值;

输出格式

输出一个整数,表示最大价值。

#include<bits/stdc++.h>
using namespace std;int f[101];
vector<int> v[101],w[101];int main()
{int n,m;cin>>n>>m;for(int i=0;i<n;i++){int s;cin>>s;for(int j=0;j<s;j++) {int vv,ww;cin>>vv>>ww;v[i].push_back(vv);w[i].push_back(ww);}}for(int i=0;i<n;i++)for(int j=m;j>=0;j--)for(int k=0;k<v[i].size();k++)if(j>=v[i][k])f[j]=max(f[j],f[j-v[i][k]]+w[i][k]);cout<<f[m]; return 0;
}

M - 二手物品回收

  • 这道题是一个背包问题,严格上来说是一个分组背包问题,当前有 M M M 组,将当前每组取部分商品的最大利润是多少,但是第一次取商品时需要付一定的邮费。
  • 我们可以这样考虑,将每个商品的价值从大到小排序,然后将一个商品的价值减去邮费,这样取前几个就是最优的解。
  • 由于分组背包是每组选择一个物品,所以我们要考虑如何转化成分组背包问题。将排完序之后商店的商品做一个前缀和,对于第 k k k 个物品我们就可以理解为选取前 k k k 个商品的选法,所以这样就可以求出最优解。
#include<bits/stdc++.h>
using namespace std;const int N = 1010;vector<int> g[N];
int x[N],sum[N][N];
int dp[N];int main()
{int n,m,k;cin>>n>>m>>k;for(int i=1;i<=m;i++) cin>>x[i];for(int i=1;i<=n;i++){int a,b;cin>>a>>b;g[b].push_back(a);}for(int i=1;i<=m;i++){if(g[i].empty()) continue;sort(g[i].begin(),g[i].end());reverse(g[i].begin(),g[i].end());g[i][0]-=x[i]; }for(int i=1;i<=m;i++)for(int j=1;j<=g[i].size();j++)sum[i][j]+=sum[i][j-1]+g[i][j-1];memset(dp,-0x3f,sizeof dp);dp[0]=0;for(int i=1;i<=m;i++)for(int j=k;j>=0;j--)for(int c=0;c<=g[i].size();c++)if(j>=c)dp[j]=max(dp[j],dp[j-c]+sum[i][c]);cout<<dp[k];return 0;
}

河南省第十四届ICPC大学生程序设计竞赛相关推荐

  1. 【超好懂的比赛题解】“山大地纬杯”第十二届山东省ICPC大学生程序设计竞赛(正式赛)

    title : "山大地纬杯"第十二届山东省ICPC大学生程序设计竞赛(正式赛) date : 2022-5-30 tags : ACM,题解,练习记录 author : Linn ...

  2. 2022年第十四届全国大学生数学竞赛

    11.12非延迟地区开赛啦,小编为大家整理了2022年第十四届全国大学生数学竞赛真题加标答 希望帮到大 家   大学竞赛君自做答案90+,延迟地区的小伙伴也可以辅导

  3. 第十四届全国大学生数学竞赛河南赛区(非数学类)决赛试题+参考解答发布

    第十四届全国大学生数学竞赛河南赛区(非数学类)决赛试题+参考解答发布! 竞 赛 试 题: 仅供无偿分享提供给广大学子学习,如有侵权,请联系客服删除! 参 考 答 案: 对于基础薄弱的同学,我们也可以多 ...

  4. 第十五届吉林省大学生程序设计竞赛

    最近刚打完吉林省程序设计竞赛,自己比较菜,成绩不是很好,拖累了两位队友,其中一位队友保研,并在比赛前一天拿到了百度的实习offer.另一位是备战考研. 比赛只过了A,B,E,L,M,最终41名 A题: ...

  5. 第十四届全国大学生数学竞赛的通知

    竞赛信息    可以辅导,无需基础 各省.市.自治区数学会.军队院校数学教学联席会: 为了激励大学生学习数学的兴趣,培养他们分析问题.解决问题的能力,提升我国高等学校人才培养质量,促进高等学校数学课程 ...

  6. 十四届全国大学生数学竞赛

    加油啊,没有延期的地区在本月12号就要开始十四届数学竞赛了,小编为大家整理了一下十三届的题目提供给各位,希望大家加油.同时了,我们也会辅导十四届的先伙伴,可以联系,无需基础.

  7. 第十四届中北大学ACM程序设计竞赛 J.ZBT的游戏

    问题描述 第14届中北大学程序设计竞赛来了,集训队新买了一大堆气球,气球一共有K种颜色(1<=K<=256),气球的颜色从1-K编号. ZBT童心未泯,他发明了一种摆放气球的游戏,规则如下 ...

  8. 河南省第十三届ICPC大学生程序设计竞赛 【部分题题解】

    比赛参加了,打的很垃圾. 霸爷说过:一个人要不是比别人大几个数量级,其实是很难比别人强的. 努力变强,到达巅峰. 目录 A: 祝融传火 E: Dance with a stick F: 图像识别 H: ...

  9. 第十四届全国大学生数学竞赛决赛(非数类)游记+答案解析

    2023/5/27 20:08:今天早上9:00~12:00考了数学竞赛国赛.广州是真的热啊!西安才17度,还下着小雨,到广州之后那个艳阳直接给我人干废了,去酒店的路上步行了20分钟真的要死了已经. ...

最新文章

  1. 彻底搞定IE7频繁弹出“确实允许此网页访问剪贴板吗”
  2. 搭建hadoop2.6.0 HA及YARN HA
  3. php json转数组后并在前端展示,0516-如何从服务器端获取JSON格式字符串并解决到前端页面中显示...
  4. c语言保存图片image,iOS 保存图片到【自定义相册】
  5. 前沿分享|阿里云资深技术专家 魏闯先:AnalyticDB PostgreSQL年度新版本发布
  6. Matlab--m代码转C与C++代码)1(简单示例涉及到函数调用)
  7. win7下DS、KS、ASIO、WASAPI输出比较
  8. 喝下硅谷创业毒药后的 13 年
  9. 亚马逊推出人工智能咨询服务,机器学习B2B业务又迈出一步
  10. bzoj 4873: [Shoi2017]寿司餐厅 [最小割]
  11. Delphi XE3 下载
  12. android移植大作游戏,这款steam移植的1GB大作,或许是今年最有氛围的悬疑游戏
  13. 计算机CPU的时钟频率主要,cpu时钟频率计算公式_CPU频率计算方法详解
  14. U盘量产,以及U盘“请将磁盘插入u盘”等问题。
  15. 当私域逐渐摆烂--伟大航路战略咨询
  16. 可以带着游泳的耳机、游泳听歌的运动耳机推荐
  17. 智慧金融系统软件需求规格说明(IEEE 830 标准)最终版
  18. java hasnext_java – hasNext() – 什么时候阻止,为什么?
  19. Docker入门实战笔记
  20. mysql 内存大_MySQL数据库之MySQL大内存配置方案

热门文章

  1. 【华为2021校招】笔试题【通用硬件】
  2. 江苏泗洪计算机学校怎么样,泗洪一大波学校先后被教育部点名!有没有你母校?...
  3. git 撤销上次commit提交
  4. 郑清 - 日常作息表 - November - 2019
  5. 什么是单色、双基色、三基色 LED 显示屏
  6. java 页码计算_分页之页面页码列表计算
  7. android 11 机型,安卓11支持哪些机型,Android11适配机型一览
  8. zay大爷的神仙题目 D1T2-腐草为萤
  9. 如何看待2022年秋招Java后端开发岗一片红海?
  10. ubuntu启动后停留在开机界面进不去系统解决方法