考虑所有的选择都会与第一个选的节点,我们称之为根节点联通,考虑枚举这个点。

对于一个点对 (x,y)(x,y),因为考虑的是期望个数,所以可以单独计算 (x,y)(x,y)。

假设 l=lca(x,y)l=\text{lca}(x,y),那么显然 (x,y)(x,y) 选择的顺序就只与 l→xl\to x 和 l→yl\to y 有关,那么就直接枚举 (x,y)(x,y) 计算从 ll 选到 (x,y)(x,y) 的概率。

显然这个概率只与 depx−depldep_x-dep_l 和 depy−depydep_y-dep_y 有关。

设 fi,jf_{i,j} 表示两个两个数 i,ji,j 等概率的使一个数减少,ii 先到达 00 的概率。那么有转移:

fi,j=fi+1,j+fi,j+12f_{i,j}=\frac{f_{i+1,j}+f_{i,j+1}}{2}

时间复杂度为 O(n3log⁡n)O(n^3\log n)。