这是一道并查集和01背包问题的结合,题目难度不大,刚开始接触并查集的可以试试这一道
这是链接https://oj.chdacm.cn/problem.php?id=2124

思路

集合分类+DP
并查集将同一个套餐的礼品的价钱和价值加在一起看作一个整体,并将这些集合放在一个 v e c t o r vector vector容器当中,然后我们通过 01 背 包 01背包 01背包的思路来处理。
也就是如下的公式。

d p [ j ] = m a x ( d p [ j ] , d p [ j − v [ i ] ] + w [ i ] ) dp[j] = max(dp[j],dp[j-v[i]]+w[i]) dp[j]=max(dp[j],dp[j−v[i]]+w[i])
核心代码如下:

dp[j] = max(dp[j],dp[j-num[sum[i]].first]+num[sum[i]].second);

代码

下面是AC代码,以供参考

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cstring>
#include<vector>
#include<cmath>
#define ll long long
#define mem(s,i) memset(s,i,sizeof(s))
#define PII pair<int, int>
#define INF 0x7fffffff
using namespace std;
const int N = 1e4+10;
int n, m, k;
int pre[N];
int dp[N];
PII vis[N];
PII num[N];
vector<int> sum;
int find(int x){if(pre[x]!=x)pre[x] = find(pre[x]);return pre[x];
}
void merge(int x, int y){pre[find(x)] = find(y);
}
void solve(){cin>>n>>m>>k;for(int i = 1;i <= n;i++)pre[i] = i;for(int i = 1;i <= n;i++)cin>>vis[i].first>>vis[i].second;for(int i = 0;i < m;i++){int x, y;cin>>x>>y;merge(x,y);}for(int i = 1;i <= n;i++){int res = find(i);auto ans = find(sum.begin(),sum.end(),res);if(ans==sum.end())sum.push_back(res);num[res].first += vis[i].first;num[res].second += vis[i].second;}for(int i = 0;i < sum.size();i++){for(int j = k;j >= num[sum[i]].first;j--){dp[j] = max(dp[j],dp[j-num[sum[i]].first]+num[sum[i]].second);}}// for(int i = 0;i < sum.size();i++)cout<<dp[i]<<" ";cout<<endl;cout<<dp[k]<<endl;
}
int main(){solve();return 0;
}

加油!冲冲冲!!!

CHDOJ——P2124采购礼品相关推荐

  1. 马云第一次创业翻译社,差点倒闭,兼卖鲜花和礼物维持终翻身

    马云毕业于英语专业,因此毕业后在学校当了英语老师.当然,马云不是一个安于现状的人,会有自己的想法并付诸实施,凭借着自己的英语水平,其在早期曾经举办过英语补习班,英语学习角等等来拓展自身的实力与影响.但 ...

  2. 年礼成快递企业不再接件主因:苹果产品最疯狂

    贺文刘伟勋程志云越接近春节,顺丰快递的黄师傅和他的同伴加班的时间越长,原因是黄师傅负责写字楼里的公司开始向客户发送新年礼品,这让他们的业务量增加了近一倍.王学敏是励展华群公司的副总经理,公司主做礼品展 ...

  3. 首席新媒体黎想教程:线上活动推广执行手册——第二篇

    其实每个活动运营都想策划出"锦鲤"."冰桶挑战"."丢书大作战".这样的爆款刷屏的活动,但是爆款是[可遇不可求的],它的背后说庞大的用户基数 ...

  4. 背包九讲--背包综合题目

    背包问题汇总 1.01背包 2.完全背包 3.多重背包 4.二维费用背包 5.混合背包 6.分组背包 7.资源分配背包 8.泛化物背包 9.背包方案数 背包综合练习题目 1.小明买书 [题解]背包类问 ...

  5. 2021年中国礼物经济行业发展现状:市场规模不断增长,线上购买占比大[图]

    礼物经济(gifteconomy)属于经济学的一支,此概念的提出是为驳斥计划经济,认为人的行为都是经过理性计算考量.是提供商品或服务者并没有明确的预期回馈对象,也没有预期回馈的内容,有许多分享行为出自 ...

  6. 礼品鸟一站式礼品采购中心网站PHP源码

    介绍: PHP源码_礼品鸟一站式礼品采购中心网站源码淘宝礼品代发平台源码,详细安装教程在压缩包内 网盘下载地址: http://kekewl.cc/br63iLfEHsK0 图片:

  7. 企业ERP系统、电商erp、企业erp、智慧电商erp、工作台、销售管理、出库、退货、生产管理、生产订单、礼品、资产、员工、库存管理、仓库盘点、物品入库、采购管理、采购订单、采购退货、库存预警、供应商

    企业ERP系统.电商erp.企业erp.智慧电商erp.工作台.销售管理.销售订单.出库.退货.生产管理.生产订单.礼品.资产.员工.库存管理.仓库盘点.物品入库.采购管理.采购订单.采购退货.库存预 ...

  8. 【166期推荐】医院中电脑耗材采购该不该归信息科负责?

    166期导读:医院准备把电脑耗材的采购和管理都给统一起来,但是不知道到底应该归那个部门,有人说归信息科,有人说归办公室,也有人归器械科和后勤总物科!公说公有理,婆说婆有理,你怎么看这个问题呢? 欢迎加 ...

  9. 中秋祝福网页_中秋客户维系关怀,该送客户什么礼品?

    企业节日礼品是企业间或者商务伙伴之间相互传达美好情意的一种体现,无论是送领导.送员工.还是送合作伙伴,礼品定制都需要根据不同赠送对象来细心选择.如果想要礼品有创意同时又能表达企业理念,进而达到宣传推广 ...

最新文章

  1. Python 已经饱和?我猜你一定不懂这个技能!
  2. video自动全屏播放
  3. 如何使用ping命令检查网络故障
  4. javascript中子类如何继承父类
  5. OI群论:从入门到自闭
  6. leetcode - 1218. 最长定差子序列 (使用哈希表)
  7. 交流信号叠加直流偏置_示波器助您更好地测量直流电源轫上的纹波噪声
  8. jQuery基础总结!!!
  9. jQuery的表单验证
  10. VB如何实现Undo(撤消)功能
  11. solr6.6初探之主从同步
  12. vb.net同步服务器文件,vb.net - VB.NET - 如何以编程方式将身份验证传递给服务器 - 如何访问需要身份验证的服务器上的文件 - 堆栈内存溢出...
  13. 安装SQL Sever2017时出现“Polybase要求安装Oracle JRE 7更新51(64位)或更高版本规则失效”的解决办法
  14. Rust盒子玩家追踪、库存查询、Rust服务器数据统计功能更新
  15. three.js 05-01 之 PlaneGeometry 几何体
  16. 二代测序(Next generation sequencing)介绍
  17. Storm Control 风暴控制
  18. chrom,firefox,ie不能上网,百度浏览器却可以。。。
  19. 输出倒逼输入:学习方法
  20. 电脑可以正常上网但是无法下载东西的问题。

热门文章

  1. 道听途说vs实际经历——那些你以为的编程
  2. 局域网下C++命令行聊天室简易版
  3. HTML练习之路16(精美电商悬浮窗)
  4. 详解最大似然估计、最大后验概率估计及贝叶斯公式
  5. JavaScript模板引擎详解
  6. day1-爬虫作业:下载lol全英雄皮肤
  7. 月旦评 之 DevOps招贤令2019 - 没有人比我们更懂DevOps
  8. 通读网络规划设计师全书,说下个人的感受和建议
  9. 充电桩的破局之路:大功率快充之于电动车,相当于5G之于互联网
  10. 什么是app报毒?该如何解决