SP13049 AMR12K - The Loyalty of the Orcs
题目描述
有一个 $n$ 个节点的等级树,树上每个节点对应一个兽人,节点的父节点是该兽人的直接上级,所有祖先节点也都是它的上级。
现在随机一个 $n$ 排列,按照这个顺序进行点名。如果点到的兽人已死亡,它将被标记为“已删除”。
现在狡猾的 Wormtongue 想到了一个“优化”方案:
在点名过程中,如果该兽人的某个上级(祖先节点)被标记为“已删除”,那么它将不进行点名。
你的任务是计算:在优化方案实施后,点名次数将会减少的**期望**数。
我们规定,$1$ 号兽人是最高首领。
输入格式
第一行输入 $1\le T\le 5$ 表示多组数据。
每组数据中:
第一行输入一个 $1\le n\le 10^5$ 表示兽人数量;
接下来 $n-1$ 行输入空格隔开的两个数 $u,v$,表示 $u$ 是 $v$ 的直接上级或者 $v$ 是 $u$ 的直接上级(它们之间连边)。$1\le u,v\le n$ 且 $u\ne v$。
接下来一行输入一个 $m$,表示死亡兽人数量;
接下来 $m$ 行,每行一个正整数,代表死亡兽人的编号。
输出格式
对于每组数据,输出一行答案,误差不超过 $10^{-6}$。