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)\)
题外话
这题好神呐!