问题 5391 --删边操作

5391: 删边操作

题目描述

给定一颗 $n$ 个点的带点权树,每次删去一条尚未被删去的边,直到得到一个包含 $n$ 棵只有一个点的树的森林。定义一条简单路径的权值为路径上点权之和,一棵树的直径为树上权值最大的简单路径。求任一时刻他拥有的所有树的直径权值的乘积。因为这个数可能很大,他要求你输出乘积对 $10^9+7$ 取模之后的结果

输入

输入的第一行包含一个整数 $n$,表示树 $T$ 上顶点的数量。 下一行包含 $n$ 个空格分隔的整数,表示顶点的权值。 之后的 $n-1$ 行中,每一行包含两个用空格分隔的整数,表示节点和节点之间连有一条边,编号为 $i$。 再之后 $n-1$ 行中,每一行包含一个整数,表示在第 $j$ 天里会被删除的边的编号。

输出

输出包括 $n$ 行。 在第 $i$ 行,输出删除 $i-1$ 条边之后,所有树直径的乘积对 $10^9+7$ 取模的结果。

样例输入输出

输入#1 复制
3
1 2 3
1 2
1 3
2
1
输出#1 复制
6
9
6

提示

【样例解释】 初始,树的直径权值为 $6$(由节点 $2,1$ 和 $3$ 构成的路径)。 在第一天之后,得到了两棵直径权值都为 $3$ 的树。 第二天之后,得到了三棵直径权值分别为 $1,2,3$ 的树,乘积为 $6$。 【数据范围】 对于 $40\%$ 的数据,$2 \leq n \leq 100$。 另有 $20\%$ 的数据,$2 \leq n \leq 10^3$。 另有 $20\%$ 的数据,$2 \leq n \leq 10^4$。 对于 $100\%$ 的数据,$1 \leq n \leq 10^5$, $a_i \leq 10^4$。
序号 标题 作者 发表时间 费用 订购数 操作