当前位置: 首页 > news >正文

Misère Nim game

题目

Nim 游戏一样,但是取走最后一个元素的人输。

结论

T = + ◯ i = 1 n a i T =\textcircled{ +}_{i=1}^n a_i T=+i=1nai
a_i 全为 1 时,显然可以根据 n 的奇偶性来判断。
a_i 中存在一个 >1 的元素时,则 T>0 <=> 先手必胜
这里先手必胜的含义是:一定可以取剩最后一个 1 ,然后让对方取,令对方输游戏。

扩展

若在正常的 Nim 游戏中 ,当 a_i 中存在 >1 的元素时,T>0 <=> 想赢就赢想输就输
因为此时, NimMisère Nim 中都可以获胜, Misère Nim 中获胜意味着可以取剩最后一个 1 ,让对方取,所以 想输就输

证明

a_i>1 的元素为非平凡元素。
当不存在非平凡元素时,证明显然。

当存在非平凡元素时:


引理 1

若一开始存在非平凡元素 ,那么按照 Nim 游戏的策略,T>0 -> T=0 -> ... -> T>0 -> T=0 -> T>0 一定会存在某一个 T>0 的时刻,非平凡元素只有恰好一个。

引理 1 证明

首先,对于任意 T=0 的状态,如果元素中存在非平凡元素,那么肯定不止一个。因为高位的异或和也为 0 ,所以不能单独存在。

从先手开始:

  1. 若当前非平凡元素只有一个的时候,结论显然。

  2. 否则,当前非平凡元素个数 >=2 ,那么当 T>0 -> T=0 时,由于只能操作一个元素,且 T=0 的时候,非平凡元素个数 >=2 or =0,故 T=0 的时候非平凡元素个数一定是 >=2 的。当 T=0 -> T>0 时,也只能操作一个元素,故 T>0 时非平凡元素个数 >=1 ,回到先手开始操作。

由于操作序列有限,所以一定会存在某一个 T>0 的时刻,非平凡元素只有恰好一个。

引理 1 证毕。


先手:

如果只存在一个非平凡元素,那么可以根据剩下平凡元素个数的奇偶性,将非平凡元素取完 or 取成平凡元素,那么这样就可以使得其必胜。

否则,先手还是和 Nim 游戏一样,将 T>0 的状态转移到 T=0 的状态。

由于引理 1 ,先手一定会存在某一个 T>0 的时刻,非平凡元素只有恰好一个。

证毕。


http://www.mrgr.cn/news/67540.html

相关文章:

  • python使用短效IP池的好处是什么?
  • Websocket协议
  • 【AIGC】如何充分利用ChatGPT:有效提示框架与基本规则
  • leetcode21:合并两个有序列表
  • 模块化开发 webpack
  • H7-TOOL的LUA小程序教程第17期:扩展驱动AD7606, ADS1256,MCP3421, 8路继电器和5路DS18B20(2024-11-01)
  • 支持高性能结构化数据提取的 Embedding 模型——NuExtract-v1.5
  • 【Python】遇到pandas 和numpy版本不兼容怎么办?
  • 船舶终端设备维修服务设计
  • uniapp开发APP后台保活机制
  • leetcode 3255 长度为 K 的子数组的能量值 II 中等
  • 五个高质量的视频素材下载网站,助力创作更高效
  • wxWidgets GUI设计教程 - 常用控件与复杂布局
  • 脉冲全闭环EtherCAT运动控制器的固件升级
  • linux驱动-i2c子系统框架学习(2)
  • 【测试语言篇二】Python进阶篇:lambda函数、异常和错误处理、Json处理、随机数、星号操作符
  • 钉钉调试微应用整理2
  • 海云安入选软件供应链安全十大代表厂商,软件供应链安全创新成果获认可
  • (十四)JavaWeb后端开发——MyBatis
  • 【Python】轻松解析JSON与XML:Python标准库的json与xml模块
  • 深度学习经典模型之Network in Network
  • 【单例模式】饿汉式与懒汉式以及线程安全
  • 嵌入向量模型与BM25算法结合:并行检索获取多种结果
  • 常见几种GB 9706.1-2020医疗器械试验工装,您有所了解吗?
  • 使用stream遍历对象集合,取出所有对象的某字段,并以逗号拼接起来
  • 【TabBar嵌套Navigation案例-常见问题按钮-WebView-加载JavaScript Objective-C语言】