QOJ17256 Keep or Gamble 题解
本质推式子题目。
不妨考虑什么时候应该停止,什么时候应该继续往下走。
不妨将四种卡片分别记作
首先一个观察是
另外一个观察就是
因此我们只需要记录当前抽了几张
但是这个 DP 其实没什么常规手段去优化,我们得想一些更强的性质。
我们不妨放弃考虑后续所有状态的增量,转而考虑单步的增量。假设你有了
令
那么,此时你单次期望的收益就是这个式子:
那么,看上去如果这个值为负,那么这一步就是亏的。
但是,有没有可能后续会带来更大的收益呢?
实际上也不可能。如果此时你抽了一张
因此,一旦单步期望变成负的,我们就应该直接卷款跑路!
进一步的,我们可以得到这个式子:
其中,
简单解一下右侧的不等式,就可以得到
我们希望用低于
注意到式子里有大量的
提出来和内层变量
我们主要关注右侧第二个求和号的计算。
括号全部展开。
拆拆拆。
先看左边。
里面和
我们实际上要计算的是这个。
请注意,这个虽然看上去很像范德蒙德卷积,但是实际上不是。
因为我们的下标没写全。下标需要满足
换句话说求和号是有下界的。因此并不能直接范德蒙德卷积。
接下来考虑右侧。
提取公因式。
无关项提出来。
实际上我们要计算
请注意
因此实际上我们要计算
令
对于
注意到当
我们目前的首要目标就是通过
推出来
因此
因此我们可以直接用
而
做
和我们刚刚推出来的式子只有下标变换了
难办的是
对称的,我们考虑
在前一项组合数两个都减少
我们考虑我们最初的形式:
实际上是,
我们希望消掉右侧的
也就是
我们将两项相加,得到
因此,我们推出
综上,式子里的所有部分都是可以递推的了。
代码反正能写。之后补上。