USTCOJ 1213 取石子游戏 (经典NIM问题)及一些扩展 与(&) 或 (|)异或 (^)运算性质

本文介绍了USTCOJ 1213题目的解题思路,该题目涉及经典的NIM游戏。作者探讨了NIM游戏的必胜策略,并通过异或运算的性质寻找第一步的最优解。文章阐述了异或、与、或运算的交换律、结合律等性质,并证明了在NIM游戏中,非0的NIM数意味着存在必胜策略。最后,作者证明了在给定条件下总能找到一个a[k]使得b[k] < a[k],从而完成游戏的转变。
摘要由CSDN通过智能技术生成

题目链接:http://acm.ustc.edu.cn/ustcoj/problem.php?id=1213

在做本题之前,虽然听说过NIM游戏,但并不知道其必胜策略,之前遇到的另一个NIM问题是两堆石子的版本,取石子规则又略有不同,在思考两天之后终于解决了,结论非常优美,用到了数学竞赛知识里的Betty定理,结论和黄金分割有关,这里给个POJ百练上的题目链接:http://poj.grids.cn/practice/1067/。在自己解决这两道题之后,决定深入理解一下NIM问题,于是查阅了一些资料,发现已经有很多人探讨过这个问题,看来能想出这个问题的人很多啊,但是还是挺有成就感的,而且发现自己采用的方法与文献上的类似,(对于后一个问题也用了Betty定理证明),因此还是很乐意写篇报告来总结一下自己的心得。(Ps个人认为这种经典的问题一定要自己想出,而且要严格证明出来,不然再遇到也是不一定能很快解决的)。

首先,正如题目中已经给出的结论:我们定义一个NIM数,然后可以通过异或运算直接算出这个数字,非0则存在必胜策略(这里先不给出这个结论的证明,我决定在下一篇文章中给出,因为正是解决那道题目时给我的启发并一并联想到NIM问题,才完成了证明)。我们现在先默认结论正确,我们先专注于这道题目的要求:找出第一步最少需要取走的石子数,使

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值