记一道经典树上Nim游戏
这道题首先是 Hanriver 提出来的,但是大家都不会做,今天看到了一道一模一样的题目 AT2667
题目大意是,每个人删掉一个不是整棵树的原树的子树,给定一个树问游戏状态。
首先,这是需要用到多个游戏与多个状态的定理得到的。但是很明显在此处直接使用定理会产生
既然能做,那么有一些状态肯定是不必要进行的,也就是说需要计入
- 子状态的
- 子游戏的异或和
- 一般是归纳证明的对于简单状态结论,或是递推式
如何考虑这道问题呢?当状态过多无法转移时,我们就想要把原来的状态分成若干个子游戏。果然,我们可以拆掉原来的树,像这样:
因为不能删根节点,所以这样是可行的。接下来要解决根节点只有一个儿子的情况。
这时候通过观察得到,以根节点的子节点为根的子树,这个点的
具体证明见 qzhwlzy对博弈论的解读。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话