給定一棵樹,樹根為 1,每個點的點權(quán)為 Vi 。
你需要找出若干個點 Pi,使得:
1. 每兩個點 Px Py 互不相鄰;
2. 每兩個點 Px Py 與樹根的距離互不相同;
3. 找出的點的點權(quán)之和盡可能大。
請輸出找到的這些點的點權(quán)和的最大值。
輸入的第一行包含一個整數(shù) n 。
第二行包含 n ? 1 個整數(shù) Fi ,相鄰整數(shù)之間使用一個空格分隔,分別表示 第 2 至 n 個結(jié)點的父結(jié)點編號。
第三行包含 n 個整數(shù) Vi,相鄰整數(shù)之間使用一個空格分隔,分別表示每個結(jié)點的點權(quán)。
5 1 2 3 2 2 1 9 3 5
11
對于40%的評測用例,n ≤ 5000 ;
對于所有評測用例,1 ≤ n ≤ 2 × 105,1 ≤ Fi < i,1 ≤ Vi ≤ 104 。