XSY2332

题意

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

做法

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

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

[f[i][j]=frac{1}{j}sumlimits_{k=1}^{j}f[i-1][k-1] imes f[i-1][j-k] ]

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

题外话

这题好神呐!

原文地址:https://www.cnblogs.com/Grice/p/12669876.html