[ZJOI2015] 地震后的幻想乡积分题解

题意:

给定一个无向图,边权为 \([0,1]\) 之间的随机变量。求图最小生成树最大边权的期望。

\(n\le 10\)

Soluion:

Meatherm口诏:我都不知道这个东西怎么想出来的

针对这道题,好像正常的方法是转计数然后斯特林反演+dp。但是如果想到概率理论,你就已经赢了

很遗憾,我没想出来

设最大边权随机变量为 \(X\)。其概率分布函数 \(P(t)=P(X\ge t)\),概率密度函数 \(p(t)\)

其实这道题已经做完了

易知

\[EX=\int_0^{\infty}P(t)dt=\int_0^1P(t)dt \]

接下来考虑这个东西怎么求。首先我们得知道 \(P(t)\) 怎么算。小于 \(t\) 的边不能连通图,那么考虑 \(1\) 所在连通块在使用边权小于 \(t\) 的边不能连通图的概率(这时也就知道了能)。设这个连通块的点集为 \(S(1\in S)\)。类似地,设这个连通块的概率分布函数为 \(P_S(t)\)

考虑再次枚举此时不连通的"包含 \(1\) 的连通块"的包含 \(1\) 的连通块,设其为 \(S_0\)。不连通的概率就是枚举每个不同的、不等于他自己的包含 \(1\) 的连通块的连通的概率之和。这样相互独立,覆盖了所有情况。那么可以得到:

\[P_S(t)=\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})}(1-P_{S_0}(t)) \]

\(cnt\) 是两个点集之间的边计数。这样算的原因:它和它补集之间的点必须不连通(\((1-t)^{cnt(S_0,\overline{S_0})}\)),他自己那里必须连通(\((1-P_{S_0}(t))\))。

考虑对这个东西积分。

\[\int_0^1P_S(t)dt=\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})}(1-P_{S_0}(t))dt\\ =\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})}dt-\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})}P_{S_0}(t)dt\\ \]

我们知道,

\[\int(1-x)^adx=-\frac{(1-x)^{a+1}}{a+1}+C \]

那么

\[\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})}=\sum_{S_0\subset S\\1\in S_0}\frac{1}{cnt(S_0,\overline{S_0})+1} \]

后面这个东西怎么办?

考虑此积分:

\[\int_0^1(1-t)^kP_S(t)dt\\ =\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})+k}(1-P_{S_0}(t))dt\\ =\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})+k}dt-\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})+k}P_{S_0}(t)dt\\ =\sum_{S_0\subset S\\1\in S_0}\frac{1}{cnt(S_0,\overline{S_0})+k+1}-\int_0^1\sum_{S_0\subset S\\1\in S_0}(1-t)^{cnt(S_0,\overline{S_0})+k}P_{S_0}(t)dt \]

前面的积分也被化为 \(k=0\) 的形式。

我们希望求 \(S=V,k=0\) 的情况。

显然:

\[\forall k,\int_0^1(1-t)^kP_{\{1\}}(t)dt=0 \]

好啊,现在我们可以递推。时间复杂度 \(O(3^n(n+m))\)

估计想出来的人也不喜欢 dp。

代码是 trival 的,不超过 1k。

posted @ 2023-10-22 23:18  British_Union  阅读(13)  评论(0编辑  收藏  举报