P6046
题意
有 \(n\) 个物品排成一列,第 \(i\) 个物品强度为 \(a_i\)。每一秒会随机选择两个相邻的物品相撞,强度较小的那个会破碎,被移除队列(即原本不相邻的物品可能会现在相邻)。求每个物品存活时间的期望。
$O(n^2) $ 解法
设 \(P(i=x)\) 为某物品存活时间等于 \(i\) 的概率,则显然 \(E=\sum\limits_{i=1}^{n-1}iP(i=x)\)。
展开来就是
重申 \(\large E=\sum_\limits{i=1}^{n-1}P(i\le x)\)。
于是设 \(pre\) 为在物品 \(x\) 左边第一个强度比它大的物品, \(nxt\) 为在物品 \(x\) 右边第一个强度比它大的物品。则如果 \(pre\sim x\) 一段物品或 \(x\sim nxt\) 一段物品全部被打碎,则这个物品就碎了。
设 \(P(A)\) 为 \(pre\sim x\) 全部破碎的概率, \(P(B)\) 为 \(x\sim nxt\) 全部破碎的概率。则 \(P(A\and B)\) 为 \(pre\sim nxt\) 全部破碎的概率。
则 \(P(i\ge x)=P(A)+P(B)-P(A\and B)\)。
设 \(d_1=x-pre,d_2=nxt-x\),有 \(P(i\le x)=1-P(A)-P(B)+P(A\and B)=1-\frac{\left(\begin{array}{c} n-1-d_{1} \\ i-d_{1} \end{array}\right)}{\left(\begin{array}{c} n-1 \\ i \end{array}\right)}-\frac{\left(\begin{array}{c} n-1-d_{2} \\ i-d_{2} \end{array}\right)}{\left(\begin{array}{c} n-1 \\ i \end{array}\right)}+\frac{\left(\begin{array}{c} n-1-d_{1}-d_{2} \\ i-d_{1}-d_{2} \end{array}\right)}{\left(\begin{array}{c} n-1 \\ i \end{array}\right)}\)