CF123E Maze

题目描述

一个迷宫由一棵树表示(无向图,任意两点之间恰好有一条路径)。在迷宫中,入口顶点和出口顶点以某种概率被选中。通过深度优先搜索(DFS)来寻找出口。如果有多种可行的移动方式,则等概率选择其中之一。伪代码如下: ```plain DFS(x) if x == exit vertex then finish search flag[x]

输入格式

第一行给出图中顶点数 $n$($1 \leq n \leq 10^{5}$)。接下来 $n-1$ 行,每行包含两个整数 $a_{i}$ 和 $b_{i}$,表示在顶点 $a_{i}$ 和 $b_{i}$ 之间存在一条边($1 \leq a_{i}, b_{i} \leq n$)。保证给定的图是一棵树。 接下来的 $n$ 行,每行包含两个非负数 $x_{i}$ 和 $y_{i}$,分别表示选择第 $i$ 个顶点作为入口和出口的概率。选择第 $i$ 个顶点作为入口和出口的概率分别为 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF123E/0240d8f3c959727649615a9c4b8bbbdbc401999b.png) 和 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF123E/4e43637d1b15e1f62f6536d616a94de5b4b829ea.png)。 所有 $x_{i}$ 之和与所有 $y_{i}$ 之和均为正且不超过 $10^{6}$。

输出格式

输出期望的移动步数。绝对误差或相对误差不超过 $10^{-9}$。

说明/提示

在第一个样例中,入口顶点始终为 1,出口顶点始终为 2。 在第二个样例中,入口顶点始终为 1,出口顶点以 $2/5$ 的概率为 2,以 $3/5$ 的概率为 3。对于出口顶点为 2 和 3 的情况,数学期望是相等的(对称情况)。第一次移动时,有 $0.5$ 的概率可以直接到达出口顶点,也有 $0.5$ 的概率到达不是出口顶点的顶点。在第一种情况下,移动步数为 1,在第二种情况下,移动步数为 3。总的数学期望为 $2/5 \times (1 \times 0.5 + 3 \times 0.5) + 3/5 \times (1 \times 0.5 + 3 \times 0.5)$。 由 ChatGPT 4.1 翻译