简要题意
两个人轮流进行操作,一次操作有一个参数 \(S\),其收益为 \(F(S)\),其中 \(F(S)\) 有 \(\dfrac{1}{2^S}\) 的概率返回 \(2^{S-1}\),其余情况返回 \(0\)。一个人如果得到 \(n\) 的收益,那么他就赢了。已知第一个人先手,第二个人只会进行参数为 \(1\) 的操作。请问当第一个人采取最优策略时,他的获胜概率为多少。
分析
概率 dp 有一个很典型的 Trick:如果存在多个终止状态,那么可以逆序转移。
那么本题我们定义 \(f_{i,j}\) 表示第一个人的分数为 \(i\),第二个人的分数为 \(j\),且第一个人先手时,第一个人的胜率;类似地,我们有 \(g_{i,j}\) 表示第二个人先手的情况。
那么我们的初始状态为 \(f_{n,x}=1,g_{x,n}=0(x\in [0,n-1])\)。
那么我们存在转移:
\[\begin{aligned}
f_{i,j}&=\max_{\large 1 \le p,i+2^p \le n}\normalsize \dfrac{1}{2^p}\times g_{i+2^{p-1},j} +(1-\dfrac{1}{2^{p-1}})\times g_{i,j}\\
g_{i,j}&=\dfrac{f_{i,j}+f_{i,j+1}}{2}
\end{aligned}
\]
注意到 \(g_{i,j}\) 的值只和 \(f\) 有关,于是我们直接带入进去。
然后就可以直接 dp 了。