#iai22a3. 树的问题(一)(Tree Problem Part 1)
树的问题(一)(Tree Problem Part 1)
树的问题(一)(Tree Problem Part 1)
题目描述
给定一棵 个结点的有根树,树根为 号点。树上每一个点都有一个属性值,其中第 个点的属性值为 。若在一棵子树中,某一种属性值出现的次数最多,我们称这种属性值为该子树的主属性值,但由于一棵子树中出现次数最多的属性值可能不唯一,即可能存在多个主属性值。现请你求出,以每一个结点为根的子树中的主属性之和为多少?
例如:下图所示的树中,以 A 为根的子树中,属性值1、2、3各出现一次,即属性值1、2、3均可作为主属性值,则该子树主属性值的和为6。

输入格式
输入共三行:
第一行,一个正整数 。
第二行, 个整数 ,表示树上 号点到 号点各自的父亲编号;
第三行, 个整数 ,表示每个点的属性值。
输出格式
输出一行,共 个数字:其中第 个数字,表示 号结点为根的子树的主属性值之和。
样例输入 #1
5
1 1 3 3
4 4 3 1 2
样例输出 #1
4 4 6 1 2
样例输入 #2
5
1 1 3 3
4 4 3 2 2
样例输出 #2
6 4 2 2 2
数据范围
对于 30% 的数据:。
对于 60% 的数据:。
对于 100% 的数据:,。
知识点与难度
本题涉及的知识点从属于 GESP 7级(树上启发式合并 / DSU on Tree),难度等级:⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 N≤100 / 特殊: 链状 / 特殊: 星形全同值 / 特殊: 全不同值 |
| 2 | 15 | 9~11 | Hack: N=1 / Hack: 深链全同值 / Hack: 星形全不同值 |
| 3 | 30 | 12~20 | 中规模 N≈1000~5000 / 大规模 N≈5e4~1e5 压力 |
| 4 | 25 | 21~25 | 随机 N=1~1e5 回归 |