luogu P4101 [HEOI2014] 人人尽说江南好

废话不说,直接证明。

首先,对于给定的 n,m, 所需要的操作次数是固定的。先讨论 nm 的情况。这时显然最终会合并为一堆,操作次数则为 n1。这很好证明。假设有一堆石子为 x 个的石子堆,那这堆石子堆一定由 x 堆原始石子堆合并成的(原始时每堆石子堆都只有一个石子),每次合并时都会减少一堆,那只要操作 x1 次就会只剩一堆,而总数有 x 个石子,所以这堆一定有 x 个石子,即一开始假设的石子堆。

n>m 时,最终应只剩 n/m+[n%m!=0] 堆,操作次数也要减少为 (n1)(n/m)+(!(n%m)),必胜的一方总有方法达到这样的最终局面。必胜一方决策应如下:

可以保证场上只有石子数为 1m 的石子堆和 x

称最大的一堆且尚未有 m 个石子的一堆为 x

  1. 若对方将 x 与其他一堆合并,我方也将 x 与其他一堆合并。

  2. 若对方将另外两堆合并,我方就将 x 与对方新合并的一堆合并。若无法合并,说明 xm1 个石子(对方新合并的一堆最多只有 2 个),随便与只有一个石子的石子堆即可,下一步将最大的两堆合并。

这样可以保证场上只有石子数为 1m 的石子堆和 x

结论证毕,代码自己来(

posted @   wmtl_lofty  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2023-09-24 BZOJ 生日礼物
2023-09-24 GT考试 [矩乘系列]
点击右上角即可分享
微信分享提示