概率期望基础的题目

\(P2973\)

显然这是第\(2\)种问法。注意在转移的时候要加上爆炸的情况,即\(f_v=\sum_uf_u(1-\frac{p}{q})\frac{1}{deg_u}\)。我们直接高斯消元求出\(f_u\),最后乘一下\(\frac{p}{q}\)即可。其实换第\(1\)种问法,最后为何能乘\(\frac{p}{q}\)是不太好理解的。复杂度\(O(n^3+m)\)

\(CF113D\)

直接把状态变成二维的,把终止条件变成到达同一个点就行了,高斯消元即可,复杂度\(O(n^6+(n+m)m)\)

\(CF24D\)

注意到直接高斯消元就玩完了,从下往上一行一行做即可。每行高斯消元也玩完了,所以我们有\(2\)条路:\(1\) 注意到这个矩阵的样子很特殊,我们只需要线性复杂度进行消元即可。\(2\) 直接把\(f_1,f_2\)看成主元,把其它变量都表示出来,最终会有\(2\)个有用的方程,解出\(f_1,f_2\),然后代回去解即可,这样很麻烦。复杂度都是\(O(nm)\)

\(P3232\)

我们先用高斯消元求出经过每个点的期望次数,然后求出每条边的期望经过次数,把边按次数排序再赋上权值即可,复杂度\(O(n^3+mlogm)\)

\(GYM104324F\)

容易发现我们预处理出\(E(u\to fa)\)\(E(fa\to u)\)之后,我们就可以利用倍增或树上差分进行多组询问了,复杂度\(O((n+q)logn)\)

\(HDU5194\)

宝宝题,答案\(\frac{nm}{n+m}\)。可以证明,每个位置产生\(01\)的概率是一样的,而第一个位置的概率为\(\frac{m}{n+m}\times \frac{n}{n+m-1}\),一共\(n+m-1\)个位置,所以答案为\(\frac{nm}{n+m}\),复杂度\(O(T(logn+logm))\)

\(ATarc150d\)

好题。我们显然可以用期望线性性拆成每个点被染黑的期望次数。我们对于每个点\(u\),显然可以删掉不在\(1\sim u\)路径上的点,因为它们对\(u\)没有影响。显然,即使\(1\sim u\)上某个非\(u\)的点已经不能染了,我们还染也是没有影响的,因为它对\(u\)没有影响。所以,问题转化成有\(dep_u\)个白点,每次随机把某个点染黑,直到所有点都被染黑,求第\(dep_u\)个点的期望被染次数。而由于宝宝博客中写道,我们期望\(dep_u\sum_{i=1}^{dep_u}\frac{1}{i}\)次染黑所有点,然后每次染第\(dep_u\)个点的概率为\(\frac{1}{dep_u}\),所以第\(u\)个点被染的期望次数为\(\sum_{i=1}^{dep_u}\frac{1}{i}\),总答案加起来即可,复杂度\(O(n)\)

\(P1654\)

先不管概率期望,设\(ans_i\)\(1\sim i\)的总答案,\(x_i\)表示\(i\)结尾的连续\(1\)长度,可以列出方程:\(ans_i=ans_{i-1}+(3x_{i-1}^2+3x_{i-1}+1),x_i^2=(x_{i-1}^2+2x_{i-1}+1),x_i=(x_{i-1}+1)\),其中括号内为只有第\(i\)次操作成功时才记入贡献。换上概率期望,有\(E(ans_i)=E(ans_{i-1})+p_i(3E(x_{i-1}^2)+3E(x_{i-1})+1),E(x_i^2)=p_i(E(x_{i-1}^2)+2E(x_{i-1})+1),E(x_i)=p_i(E(x_{i-1})+1)\),复杂度\(O(n)\)

\(CF1187F\)

众所周知,平方可以用可重地选\(2\)个来解释。我们直接拆成一组区间的贡献,这题就废了,所以我们要拆成一组坐标的贡献,其中坐标代表一段区间的开头。要求就是对于坐标组\((i,j)\)\(x_i\ne x_{i-1},x_j\ne x_{j-1}\)。我们对于\((i,i),(i,i+1),(i,j\ge i+2)\)分别进行讨论,最后统计贡献即可,复杂度\(O(nlogp)\)

\(CF457D\)

设满足条件的行和列总共\(x\)个。这题如果你硬用二项式定理求\(x=i\)的概率有多少是过不了的,因为精度太烂了,这也是这题为何不出取模的原因。注意到\(2^i\)相当于把它的每个子集都算一遍,我们只需要把二项式定理中那个算出来的“钦定”加起来就行了,所以用二项式定理的人其实是画蛇添足啊。枚举\(i,j\)表示行数和列数,乘一下组合数和概率,加起来即可,不需要用\(exp\)\(ln\)来优化,复杂度\(O(n^2)\)

\(CF235D\)

把答案拆成每个点期望在第几轮被删,可以发现与\(Game \space on \space Tree\)那题神似啊,我们再拆成任意两点直接的贡献就行了。但这题是基环树,其实做法也差不多。我们发现任意两点之间至多有\(2\)条简单路径,我们可以直接进行容斥,求出至少一条简单路径在这个点之后的概率即可,复杂度\(O(n^2)\)

posted @ 2026-01-23 15:07  captainOI  阅读(3)  评论(0)    收藏  举报