欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1466D.13th Labour of Heracles
13th Labour of Heracles
题目描述
你可能听说过赫拉克勒斯的十二项任务,但你知道第十三项吗?人们普遍认为他花了十二年完成这十二项壮举,平均每年完成一项。如今时光流转得更快,你只有几分钟而不是几个月来完成这个任务。你能做到吗?
本题中,给定一棵有 个带权顶点的树。树是一个包含 条边的连通图。
我们定义其 染色为:将 种颜色分配给树的边,使得每条边恰好被分配一种颜色。注意,你不必使用所有 种颜色。
对于颜色 的子图,包含原树中被分配为颜色 的所有边,以及所有与这些边相连的顶点(即这些顶点的度数不为 )。因此,子图中没有度数为 的顶点。
一个连通分量的价值定义为其所有顶点权值之和。一个子图的价值定义为其所有连通分量价值的最大值。我们约定空子图的价值为 。
染色的价值定义为所有 种颜色对应子图的价值之和。给定一棵树,对于每个 从 到 ,计算该树的最大 染色价值。
输入格式
输入的第一行包含一个整数 (),表示测试用例的数量。接下来是 个测试用例。
每个测试用例的第一行包含一个整数 ()。第二行包含 个整数 (),其中 表示第 个顶点的权值。接下来的 行,每行包含两个整数 (),表示顶点 和 之间有一条边。保证这些边构成一棵树。
所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出一行,包含 个整数,用空格隔开。第 个数表示该树的最大 染色价值。
说明/提示
第一个测试用例的最优染色方案如下:

在 染色中,所有边都被赋予相同的颜色。颜色 的子图包含原图的所有边和顶点,因此其价值为 。

在最优的 染色中,边 和 被赋予颜色 ,边 被赋予颜色 。因此,颜色 的子图是一个连通分量(顶点 ),其价值为 。颜色 的子图包含两个顶点和一条边,其价值为 。

在最优的 染色中,所有边都被赋予不同的颜色。因此,每种颜色的子图都只包含一条边。它们的价值分别为:,,。
由 ChatGPT 4.1 翻译
样例
4
4
3 5 4 6
2 1
3 1
4 3
2
21 32
2 1
6
20 13 17 13 13 11
2 1
3 1
4 1
5 1
6 1
4
10 6 6 6
1 2
2 3
4 1
18 22 25
53
87 107 127 147 167
28 38 44
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |