QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: jiangly

Posted at: 2025-12-14 07:05:24

Last updated: 2025-12-14 07:05:28

Back to Problem

题解

设 $f(R,B)$ 是已知有 $R$ 次红色 $B$ 次黑色,从 $1$ 元开始能得到的最大金额。显然 $f(n,0)=f(0,n)=2^n$,而 $f(R,B)=\max_{-1\le x\le 1}\min\{(1-x)\cdot f(R-1,B),(1+x)\cdot f(R,B-1)\}$。经过推导得到 $f(R,B)=\frac{2f(R-1,B)f(R,B-1)}{f(R-1,B)+f(R,B-1)}$,即 $\frac{1}{f(R,B)}=\left(\frac1{f(R-1,B)}+\frac1{f(R,B-1)}\right)/2$。因此答案为 $\frac{2^{R+B}}{R+B\choose R}$。

接下来有两种思路:

  1. 先求出答案的 $\ln$,最后 $\exp$。这里可以用斯特林公式来得到 $\ln(n!)$ 的近似。然而求 $\ln$ 做差的精度损失较大,需要高精度小数。
  2. 不妨设 $R\le B$,先求出 $\frac{2^{R+R}}{{R+R\choose R}}=\sqrt {\pi R}\left(1+\frac1{8R}+O(R^{-2})\right)$,然后利用 $\frac{2^{R+B+1}}{R+B+1\choose R}=\frac{2\cdot (B+1)}{R+B+1}\cdot \frac{2^{R+B}}{R+B\choose R}$ 进行递推。容易发现除开头的 $\sqrt R$ 步递推外,每 $\sqrt R$ 步都会让答案至少乘 $2$,故在不超过 $C=10^9$ 的情况下至多进行 $O(\sqrt R\log C)$ 步。

Comments

No comments yet.