#P495. 树的问题(一)

树的问题(一)

题目描述

给定一棵 nn 个结点的有根树,树根为11号点。树上每一个点都有一个属性值,其中第ii个点的属性值为aia_i。若在一棵子树中,某一种属性值出现的次数最多,我们称这种属性值为该子树的主属性值,但由于一棵子树中出现次数最多的属性值可能不唯一,即可能存在多个主属性值。现请你求出,以每一个结点为根的子树中的主属性之和为多少?

例如:下图所示的树中,以A为根的子树中,属性值1、2、3各出现一次,即属性值1、2、3均可作为主属性值,则该子树主属性值的和为6。

1631266023035.jpg

输入格式

输入共三行: 第一行,一个正整数nn 第二行,n1n-1 个整数 p2,,pnp_2,\dots,p_n ,表示树上 22 号点到 nn 号点各自的父亲编号; 第三行,nn个整数 aia_i,表示每个点的属性值。

输出格式

输出一行,共nn个数字:其中第ii个数字,表示ii号结点为根的子树的主属性值之和。

5
1 1 3 3
4 4 3 1 2
4 4 6 1 2
5
1 1 3 3
4 4 3 2 2
6 4 2 2 2

数据范围

对于30%30\%的数据:1n1001 \leq n \leq 100 对于60%60\%的数据:1n1041 \leq n \leq 10^4 对于100%100\%的数据:1n105,1ain1 \leq n \leq 10^5, 1 \leq a_i \leq n