#aBC311H. [ABC311Ex] Many Illumination Plans
[ABC311Ex] Many Illumination Plans
AT_abc311_h [ABC311Ex] Many Illumination Plans
题目描述
给定一棵根节点为1的有根树 ,树中共有 个节点,编号从 到 。对于每个顶点 (),其父节点是 。每个节点都有两个非负整数属性,分别称为美丽值和重量。节点 的美丽值为 ,重量为 。此外,节点被涂上红色或蓝色,其颜色用整数 表示:当 时,节点 为红色;当 时,为蓝色。
对于每一个节点 ,定义函数 表示以下问题的解:
从树 中提取出以 为根的子树,称之为 。对 可以进行若干次以下操作(操作不会改变未删除节点的属性):
- 选择一个非根节点 ,设 的父节点为 。
- 对于所有与 相连的边:
- 假设边的另一端是 ,删除这条边,然后用一条以 为父节点的新边连接 和 。
- 删除节点 和边 。
最终的 满足以下条件即为好的有根树:
- 中相连节点的颜色不同。
- 所有节点的重量总和不超过 。
找出在所有可能的好的有根树中,节点美丽值总和的最大值。
请输出每个节点 对应的 ,即 。
输入格式
输入从标准输入读取,格式如下:
输出格式
输出 行。每行输出对应节点 的最大美丽值 。
数据范围
- 为 或
- 所有输入的值均为整数
示例解释
对于 ,可以首先选择 ,然后选择 ,这样经过操作后的 是一个好的有根树。该树中节点的美丽值总和是 ,为所有可能的好的有根树中的最大值,因此 。
对于 ,选择 后,得到的 也是一个好的有根树。此时美丽值总和为 ,因此 。
本翻译由 AI 自动生成
输入输出样例 #1
输入 #1
4 10
1 2 2
2 1 0
4 2 1
6 8 0
7 4 1
输出 #1
9
10
6
7
输入输出样例 #2
输入 #2
5 5
1 2 2 3
1 1 0
10 1 1
100 1 0
1000 1 1
10000 1 1
输出 #2
11001
10110
10100
1000
10000
输入输出样例 #3
输入 #3
20 100
1 2 1 1 1 6 6 5 1 7 9 4 6 4 15 16 8 2 5
887945036308847 12 0
699398807312293 20 1
501806283312516 17 0
559755618233839 19 1
253673279319163 10 1
745815685342299 11 1
251710263962529 15 0
777195295276573 15 0
408579800634972 17 0
521840965162492 17 1
730678137312837 18 1
370007714721362 14 1
474595536466754 17 0
879365432938644 15 0
291785577961862 20 0
835878893889428 14 1
503562238579284 10 0
567569163005307 18 1
368949585722534 15 0
386435396601075 16 0
输出 #3
5329161389647368
1570154676347343
501806283312516
2665577865131167
1418696191276572
3952333977838189
982388401275366
1344764458281880
778587515356334
521840965162492
730678137312837
370007714721362
474595536466754
879365432938644
1631226710430574
1339441132468712
503562238579284
567569163005307
368949585722534
386435396601075