XSY2332

题意

给你两个\([0,1]\)之间等概率随机权值和优先级序列,你需要把这个序列插入到一棵treap中,问这棵treap的期望深度,请对于\([1,n]\)中的每个深度分别输出它的概率(实数,保留五位小数)

做法

按权值排序后,优先级显然也是随机的

所以这题可以转化成一个随机序列的笛卡尔树高度
\(f[i][j]\)\(j\)个点不超过\(i\)高度的树的概率:

\[f[i][j]=\frac{1}{j}\sum\limits_{k=1}^{j}f[i-1][k-1]\times f[i-1][j-k] \]

treap树高是期望\(O(logn)\)的,直接舍弃后面的那部分,只算前面的就好了
\(O(nlog^2n)\)

题外话

这题好神呐!

posted @ 2020-04-09 21:56  Grice  阅读(142)  评论(0)    收藏  举报