「UOJ 299」「CTSC2017」游戏
题意
小 R 和小 B 玩了 $n$ 局游戏,第一局小 R 获胜的概率是 $p_1$,对于第 $i(1<i\le n)$ 局,若第 $i-1$ 局小 R 获胜,则小 R 获胜的概率为 $p_i$,否则为 $q_i$
现在已经知道了若干局的胜负情况,求小 R 获胜次数的期望,在 $m$ 次增加或删除已知条件后都输出答案
$n,m\le 2\times 10^5$
后面的游戏结果会影响前面的概率 = =
做法
钦定第 $0$ 局小 R 获胜,第 $n+1$ 局小 B 获胜
设第 $i$ 局的结果为 $x_i$:若 $x_i=1$ 则表示小 R 获胜,若 $x_i=0$ 则表示小 B 获胜
考虑在确定了一些位置的情况下求第 $k$ 个位置的概率
这只和 $k$ 两侧最近的确定的位置有关
形式化地,找到最大的 $l(l<k)$ 和最小的 $r(r\ge k)$,即 $P(x_k=1|x_l,x_r)$
而
$$
\begin{aligned}
P(x_k=1|x_l,x_r) = & \frac{P(x_k=1,x_l,x_r)}{P(x_l,x_r)} \
= & \frac{P(x_k=1,x_r|x_l)\times P(x_l)}{P(x_r|x_l)\times P(x_l)} \
= & \frac{P(x_k=1,x_r|x_l)}{P(x_r|x_l)}
\end{aligned}
$$
分母即确定了 $l$ 处的值 $x_l$ 后,$r$ 处的值为当前 $x_r$ 的概率,可以简单求得
分子部分即在上述条件中钦定 $x_k=1$ 后的概率
现在只有 $x_l$ 的条件,于是可以递推
注意在有中间钦定的情况下,小 R 和小 B 获胜的概率之和不一定为 $1$
记 $i$ 处小 R 获胜概率为 $f_i$,小 B 为 $g_i$
用矩阵转移即
$$
(f_{i-1},g_{i-1})
\begin{bmatrix}
p_i & 1-p_i \
q_i & 1-q_i
\end{bmatrix}
(f_i, g_i)
$$
若在 $k$ 处,由于钦定了 $x_k=1$
矩阵变成
$$
\begin{bmatrix}
p_i & 0 \
q_i & 0
\end{bmatrix}
$$
现在对于相邻两个的确定位置 $l,r$,计算 $(l,r]$ 这一段的答案,可以分治地维护一个区间的矩阵的积和钦定其中某个位置为 $1$ 的所有方案
每次修改会改变三个区间
复杂度 $\mathcal O(n+m\log n)$
代码
1 |
|
「UOJ 299」「CTSC2017」游戏