Links there:CF696B
题意
给一棵树,根据$dfs(x)$中$x$的不同,每个节点的$dfn(i)$也会不同,求$dfs(i),i \in[1,n]$中$dfn(i)$的期望.
思路
还是去考虑每个节点作为根节点大法师时对其他点的贡献.
我们不如考虑一颗子树.已知节点$u$的期望$ans[u]=1.0$
对于剩下的点考虑$dfn$的排列可以是直接从$u$到达,则$ans[v] += ans[u] + 1.0$
或者是经过$u$的其他儿子且排在节点$v$前面的儿子的来.
不难发现每次对于任意$u$的儿子$a,b$满足$dfn(a)>dfn(b)$的概率为$\frac{1}{2}$
所以第二部分$ans[v] += (其他节点总数) * 0.5$
Code
1 | //my vegetable has exploded. :( |