Sasha and the Casino

这道题目真的是。。。

赛时的时候想完全证明出来发现不行,其实根本不用,这种题目主打的就是一个感性理解,官方题解也没给出证明。。在这道题目卡了1h完大蛋,最后剩20min做D,然而D也只做了30min。。。

我们手玩几组样例就会发现,他是想要在任意本金经历了无论多少场(x)输之后,下一场赢至少会比最开始的本金多1元(否则的话我就按照这种情况无限循环下去,本金要么根本不变要么减少);赢的场次根本不用关心

下面的分析都假设没有超过x场连输

由于本金有限,我们对于输的第一场,选择投1元,然后我们一直尝试投1元(假设一直输),直到多久不投1元了呢?直到我们再投一次1元后,这一场我们赢了,但是却无法弥补前面输的总金额

稍微计算就可以知道,最多放k11,第k场输就要放2或以上了

其实说白了,就是假设我们前面连输的总金额是cnt,那么我们接下来投的钱是num,如果我们这一场赢了,必须有(k1)numcnt,我们解出num就好了,如果这一场输就把解出的num累加到cnt里面,继续考虑下一场

我中间花费的一个小时完全是因为去推导数学公式了(可以看看我的代码),但实际上x只有100,直接一轮一轮循环也没关系

然后注意,中途完全可以爆long long,但没关系,某一时刻的cnta大直接结束循环就好了

posted @   最爱丁珰  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示