hdu5011(Nim游戏变形+证明)
来源:互联网 发布:域名怎么解析动态ip 编辑:程序博客网 时间:2024/06/01 10:03
这题很多人都能AC,但是能有多少人会证明呢?
题意:给定n堆石头,两个玩家轮流操作,每次选一堆取走若干石头,然后可以放弃操作,或者把剩下的这堆石头分为两堆,不能操作的人输。
题意:给定n堆石头,两个玩家轮流操作,每次选一堆取走若干石头,然后可以放弃操作,或者把剩下的这堆石头分为两堆,不能操作的人输。
思路分析: 先不考虑分成两堆这个操作,那么就是Nim游戏,异或为0,则为必败态。现在考虑这道题目,1、假如一开始异或得到的结果非0,那么先手肯定能够在某堆中选若干石头,使得异或为0,然后后手无论怎么操作,先手只要跟着他做就可以了,这种情况下先手必胜。2、考虑一开始异或得到的结果为0,先手在某堆中取若干石头,那么现在的异或结果肯定非0,因为先手想赢,他会尽量使得异或结果为0,所以这是他会将剩下的该堆石头分成两堆,这里是关键。现在我要证明异或结果非0的情况,无论怎么拆分以堆石头,异或结果仍然非0.将要操作的堆当做x,剩下的堆异或等效为y,x^y != 0 ,现将x分成x1和x2,如果x1^x2^y = 0,那么x1^x2 = y,这与条件矛盾。因此证明这题和Nim游戏的解法是一样的,分操作可以直接无视。
0 0
- hdu5011(Nim游戏变形+证明)
- HDU5011 Game(Nim博弈)
- HDU5011 Game(Nim博弈)
- Nim游戏变形之一
- Nim 游戏及其变形
- hdu5011(Nim博弈)
- Nim(Nim博弈变形)
- POJ 1704 Georgia and Bob (Nim游戏变形)
- POJ 1704 Georgia and Bob (博弈 Nim游戏变形)
- hdu 1907 John(组合游戏 NIM变形)@
- Nim游戏,异或解决问题,神证明
- poj1704(变形Nim博弈)
- HDU 1850 Being a Good Boy in Spring Festival (Nim游戏变形)
- HDU5011:Game(博弈)
- 尼姆(Nim)游戏
- LeetCode 292 Nim Game(Nim游戏)
- Nim游戏(Nim入门经典题)
- Nim博弈变形(anti-nim)
- 前端开发--Array对象
- mysql约束
- 零基础Web前端工程师人门起步
- freeswitch对接asterisk案例
- Dicom Viewer——Philips Dicom Viewer
- hdu5011(Nim游戏变形+证明)
- hdu 5009 Paint Pearls
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
- UVA - 489 Hangman Judge
- 我为什么写博客
- 在FreeSWITCH中设置视频通话
- 字节数组与字符串(字符数组)的转换操作
- 音频编码汇总
- 【学习2】Cocos2d-x 3.x中使用物理引擎创建物理元素