传送门
蒟蒻初学概率与期望
这道题感觉非常玄幻 (虽然在大佬眼里只是一道水题)
思路
我们设 \(f_i\) 表示 \(i\) 被删除时选择了 \(i\) 的次数
显然 \(f_i=0/1\)
那么题目要求的其实就是 \(E(\sum f_i)\)
而有因为期望满足可加性
因此我们考虑求单个点的贡献 \(E(f_i)\)
显然,只有在恰好选到 \(i\) 点时,它才会有贡献,且为恰好选到 \(i\) 的概率
这就要求我们之前都不能选择 \(i\) 的祖先结点
那它的概率怎么算?一个很妙的想法,就是将树上的结点转化成一个序列,而选点就是每次选择一个最前面的数,将它以及它子树内的数都去掉
那么要恰好选择到 \(i\),就要求 \(i\) 排在它所有祖先的前面
根据排列组合,这个概率显然是 \(\frac{1}{dep_i}\)(\(dep_i\) 表示 \(i\) 的深度,也就是 \(i\) 祖先树 +1)
最后将所有都加起来即可
代码
#include
#include
#include
#include
#include
#include
#include
#include