QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100
[+6]
Statistics

题目描述

Naganohara Yoimiya 给了你一棵 n 个节点的有根树,1 号节点是根节点,每个点有点权 wi

你需要对每个点 u 找到一个以 u 为根的非空连通块,并最大化这个连通块内所有点的点权的平均值。

对每个点 u 输出这个最大的平均值。

输入格式

第一行一个正整数 n

接下来一行 n1 个正整数 p2,p3,,pnpi 表示 i 的父节点的编号,保证 pi<i

接下来一行 n 个正整数 w1,w2,,wn

输出格式

输出 n 行,第 i 行输出一个实数表示以节点 i 为根的连通块内点权平均值的最大值。

如果你的答案和标准答案的相对误差或绝对误差不超过 106 则视为正确。

样例 1 输入

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

样例 1 输出

4.6666666667
4.7500000000
5.0000000000
6.5000000000
6.0000000000
7.0000000000

测试点约束

对于所有数据,1n2×105,1wi109

  • Subtask 1(10 分):1n2000
  • Subtask 2(10 分):pi=i/2
  • Subtask 3(40 分):1n50000
  • Subtask 4(40 分):无特殊限制。