欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1324F.Maximum White Subtree
Maximum White Subtree
题目描述
给定一棵包含 个顶点的树。树是一个包含 条边的连通无向图。树上的每个顶点 都被赋予了一种颜色(如果顶点 是白色,则 ,如果顶点 是黑色,则 )。
你需要对于每个顶点 ,解决如下问题:在所有包含顶点 的子树中,白色顶点数与黑色顶点数的最大差值是多少?树的子树是原树的一个连通子图。更正式地说,如果你选择的子树包含 个白色顶点和 个黑色顶点,你需要最大化 。
输入格式
输入的第一行包含一个整数 (),表示树的顶点数。
第二行包含 个整数 (),其中 表示第 个顶点的颜色。
接下来的 行,每行描述一条树的边。第 条边由两个整数 和 表示,表示该边连接顶点 和 ()。
保证给定的边构成一棵树。
输出格式
输出 个整数 ,其中 表示在所有包含顶点 的子树中,白色顶点数与黑色顶点数的最大差值。
说明/提示
第一个样例如下图所示:

黑色顶点用粗边框表示。
在第二个样例中,顶点 的最优子树分别是顶点 本身。顶点 的最优子树是包含顶点 和 的子树。
由 ChatGPT 4.1 翻译
样例
9
0 1 1 1 0 0 0 0 1
1 2
1 3
3 4
3 5
2 6
4 7
6 8
5 9
2 2 2 2 2 1 1 0 2
4
0 0 1 0
1 2
1 3
1 4
0 -1 1 -1
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录