TC 8712 PredictionCardGame 题解

TC 8712 PredictionCardGame 题解

可以二分答案\(k\),判定最终能否保证筹码数\(\geq k\)

\(g_{i,j}\)表示还有\(i\)个黑牌\(j\)个红牌,保证答案\(\geq k\)的最小的起始筹码数量。

也就是说需要知道\(g_{n,m}\)是否\(\leq c\)

考虑\(g_{i,j}\)的转移:

  1. \(\min(i,j)=0\),则\(g_{i,j}=\frac{k}{2^{\max(i,j)}}\)

  2. 则考虑枚举下注金额\(x\in Z\),则\(g_{i,j}=\max(g_{i-1,j}+x,g_{i,j-1}-x)\)可以发现\(x\)最优取到\(\lfloor\frac{g_{i-1,j}+g_{i,j-1}}{2}\rfloor\)。同时可以发现\(g_{i,j}\geq|x|\),这个性质保证了这个看似不太对的转移的正确性。

    然后时间复杂度为\(O(N^4)\),(算上二分和高精度的复杂度)。

posted @ 2021-10-13 12:46  WWW~~~  阅读(23)  评论(0编辑  收藏  举报