题目链接

题目

题目描述

小d是一个搞房地产的土豪。每个人经商都有每个人经商的手段,当然人际关系是需要放在首位的。

小d每一个月都需要列出来一个人际关系表,表示他们搞房地产的人的一个人际关系网,但是他的精力有限,对应他只能和能够接触到的人交际。比如1认识2,2认识3,那么1就可以接触3进行交际,当然1和2也可以交际。

小d还很精明,他知道他和谁交际的深获得的利益大,接下来他根据自己的想法又列出来一个利益表,表示他和这些人交际需要耗用多少精力,能够获得的利益值为多少。

小d想知道,他在精力范围内,能够获得的利益值到底是多少。

设定小d自己的编号为1.并且对应一个人的交际次数限定为1.

输入描述

本题包含多组输入,第一行输入一个数t,表示测试数据的组数

每组数据的第一行输入三个数,N,M,C,表示这个人际关系网一共有多少个人,关系网的关系数,以及小d的精力值

接下来N-1行,每行两个数ai,bi。这里第i行表示和编号为i+1的人认识需要花费ai的精力,能够获得的利益值为bi。

再接下来M行,每行两个数x,y,表示编号为x的人能够和编号为y的人接触

t<=50

2<=N<=10000

1<=M<=10*N

1<=ai,bi<=10

1<=C<=500

1<=x,y<=N

输出描述

输出包含一行,表示小d能够获得的最大利益值

示例1

输入

1
5 3 7
5 10
3 2
4 3
1 100
1 2
2 3
1 4

输出

10

说明

小明能够接触到的人的编号有:2 3 4,那么对应接触编号为2的人花费5精力能够获得10的利益值是最优方案。

题解

知识点:背包dp,并查集。

用并查集维护关系集合,最后遍历所有元素,与 \(1\) 同根的就是小d能接触到的人。接下来是背包dp,只要考虑与 \(1\) 有关系的即可。

时间复杂度 \(O(m \log n + cn)\)

空间复杂度 \(O(n+c)\)

代码

#include <bits/stdc++.h>
#define ll long long using namespace std; int a[10007], b[10007], fa[10007], dp[100007]; int find(int x) {
return fa[x] == x ? x : fa[x] = find(fa[x]);
} void merge(int x, int y) {
fa[find(x)] = find(y);
} bool solve() {
int n, m, c;
cin >> n >> m >> c;
fa[1] = 1;
for (int i = 2;i <= n;i++) cin >> a[i] >> b[i], fa[i] = i;
for (int i = 1;i <= m;i++) {
int x, y;
cin >> x >> y;
merge(x, y);
}
///后悔贪心不能用于背包问题
///因为后悔贪心变量是限制和花费或收益,花费和收益中有一个是每个点相同的,后悔另一个
///而背包问题限制固定,变量是花费和收益
memset(dp, 0, sizeof(dp));
for (int i = 2;i <= n;i++)
if (find(i) == find(1))
for (int j = c;j >= a[i];j--)
dp[j] = max(dp[j], dp[j - a[i]] + b[i]);
cout << dp[c] << '\n';
return true;
} int main() {
std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
while (t--) {
if (!solve()) cout << -1 << '\n';
}
return 0;
}

NC14545 经商的更多相关文章

  1. OpenCASCADE Interpolation - Lagrange

    OpenCASCADE Interpolation - Lagrange eryar@163.com Abstract. Power basis polynomial is the most simp ...

  2. [转]C/C++ 实现文件透明加解密

    今日遇见一个开超市的朋友,真没想到在高校开超市一个月可以达到月净利润50K,相比起我们程序员的工资,真是不可同日而语,这个世道啊,真是做程序员不如经商开超市, 我们高科技的从业者,真是造原子弹不如卖茶 ...

  3. 再牛逼的梦想,也抵不住SB似的坚持

    说起梦想,哪都是好几年前的事了.自从毕业之后,梦想不知道去哪了.可能一次次的失败,找不到了梦想的方向了吧! 自从毕业去了深圳,为了能够在这个城市安稳下来,白天正常上班晚上在街上摆地摊给人下载音乐和电影 ...

  4. 2015年,从毕业到工作的几点感悟(Android开发新人)

    锄禾日当午,汗滴禾下土.       2015年,从毕业到工作的几点感悟(Android开发): 多用三方类库:(成长经验:尽量不要自己手动实现网络上已经有的优秀开源类库的功能,例如: 网络请求:常见 ...

  5. [No00002A]26个英语字母的原始象形意义、含义、产生及发展历史

    我们都知道汉字是象形文字,但如果说英语也是象形文字,你一定会以为纯是无稽之谈.其实,追根溯源,英语的26个字母确实来自于象形文字.这26个字母最初起源于埃及象形文字,后由腓尼基人改进发明了腓尼基字母, ...

  6. [家里蹲大学数学杂志]第047期18 世纪法国数学界的3L

    1 Lagrange---78岁 约瑟夫·拉格朗日, 全名约瑟夫·路易斯·拉格朗日 (Joseph-Louis Lagrange 1735~1813) 法国数学家.物理学家. 1736年1月25日生于 ...

  7. 2015第18本:从0到1,ZERO to ONE, Notes on startups, or how to build the future

    <从0到1>中文版的副标题是”开创商业与未来的秘密“,题目大得吓人,英文副标题就谨慎了许多:Notes on startups, or how to build the future. 全 ...

  8. java8-4 多态的练习以及题目

    1./* 多态练习:猫狗案例*/ class Animal { public void eat(){ System.out.println("吃饭"); } } class Dog ...

  9. [团队项目3.0]Scrum团队成立

    Scrum团队成立 5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 产品负责人: 决定开发内容和优先级排序,最大化产品以及开发团队工作的价值. Scrum M ...

  10. 越狱Season 1-Episode 1: the pilot

    the pilot: 美国电视剧新剧开播都会有一个试播来测试观众对新剧的接受程度,以此来决定是否再继续播下去,也可以说是一个开端,第一集,试播 -Tattoo Artist: That's it. t ...

随机推荐

  1. NCC Mocha v0.10 发布, .NET 开发的基于 OpenTelemetry 的 APM 系统

    目录 项目简介 项目进度 v0.10 发布内容 项目背景 平台功能 技术架构 v0.10 快速体验 启动项目 Trace 数据的发送 配置 Jaeger 数据源 Trace 数据的查询 项目简介 Mo ...

  2. 例2.6 设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为0(n)空间复杂度为0(1)。

    1.题目 例2.6 设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为0(n)空间复杂度为0(1). 2.算法思想 3.代码 void DeleteX(SeqList LA, Se ...

  3. JMS 服务器健康检查

    JMS所有服务器程序,包括Gateway.GatewayReferee.Proxy.TokenServer.以及编写的微服务器,都支持使用第三方工具进行健康检查. 使用telnet 进行健康检查 向任 ...

  4. mongo-基本操作

    mogo基本操作 mongo对命令大小写敏感,SQL对大小写不敏感 存放 json数据,一条json数据是一个文档 数据库 查看数据库 show databases 切换数据库 use db db 不 ...

  5. [转帖]redis-benchmark的使用总结

    redis-benchmark的使用总结 Redis简介: 测试需求: 测试环境架构 测试工具Redis-benchmark 1 redis-benchmark使用方法 参数的作用 2 测试查看 测试 ...

  6. [转帖]是的你没看错,HTTP3来了

    https://www.jianshu.com/p/288ce6a8ab88 简介 很多小伙伴可能还沉浸在HTTP1.1的世界无法自拔,但是时代的洪流已经带领我们来到了HTTP3的世界了.是的,你在桥 ...

  7. [转帖]TiDB 整体架构

    https://docs.pingcap.com/zh/tidb/stable/tidb-architecture 与传统的单机数据库相比,TiDB 具有以下优势: 纯分布式架构,拥有良好的扩展性,支 ...

  8. [转帖]kafka 配置认证与授权

    https://www.cnblogs.com/yjt1993/p/14739130.html 本例不使用kerberos做认证,使用用户名和密码的方式来进行认证 1.服务端配置 1.0 配置serv ...

  9. [转帖]Innodb存储引擎-idb文件格式解析

    文章目录 ibd 文件格式解析 idb文件 page类型和格式(File Header & Trailer) FIL_PAGE_TYPE_FSP_HDR 格式 Extent Descripto ...

  10. [转帖]台积电3nm工艺细节曝光

    https://weibo.com/ttarticle/p/show?id=2309404853901739557561&sudaref=www.baidu.com ​​2023年1月3日消息 ...