题目链接
题意:有n堆石子,每个堆有Ai个石头,求先手是否能取得最后一个石头。
思路:这题主要在于前置1的多少能改变谁能成为先手,当前置1为偶数时,先手还是原来的先手,当为奇数时,先手就变成后手,后手变成先手。记得考虑当所有石堆都只有一个石头的情况。
代码:
#include
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2014-09-12 22:10:14
阅读次数:
298
题目链接题意介绍了一遍Nim取石子游戏,可以看上一篇文章详细介绍。问当前状态的必胜走法个数,也就是走到必败状态的方法数。我们设sg为所有个数的Xor值。首先如果sg==0,它不可能有必胜走法,输出0.对于任意一堆有a[i]个石子,若sg Xor a[i] #include#include#inclu...
分类:
其他好文 时间:
2014-09-08 00:55:16
阅读次数:
271
这题 出的很好的...将nim和bash这2个经典的博弈策略结合在了一起简要说下 上面这2个博弈适用的条件bash:只有一堆物品个数为n 两个人轮流从这堆物品中提取 规定每次至少取一个 最多取m个 谁取完最后一次 就算谁获胜nim:有三堆物品 两个人轮流从任意一堆中取任意数量的物品 最少一个 谁取完...
分类:
其他好文 时间:
2014-09-06 13:38:13
阅读次数:
208
巴什博奕(BashGame):一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个,最后取光者得胜;显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r...
分类:
其他好文 时间:
2014-09-04 13:17:29
阅读次数:
226
博弈论相关题目很多,以下进行总结,并将在今后不定时更新。基础题:POJ 2234 裸Nim游戏View CodePOJ 2425 有向无环图+多个棋子,直接套用上面方法View CodePOJ 2960 Nim游戏变形View CodePOJ 2348 直接按照博弈递推一下即可View CodePO...
分类:
其他好文 时间:
2014-09-03 16:38:06
阅读次数:
217
题意:给定一棵树,每个节点是一堆石子,给定两种操作:
1.改变x号节点的石子数量
2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略
Nim游戏有必胜策略的充要条件是所有堆的石子数异或起来不为零
这题首先一看就是树链剖分 然后题目很善良地告诉我们深搜会爆栈 于是我们可以选择广搜版的树链剖分
BFS序从左到右是深搜,从右到左是回溯,一遍BFS就够
单点修改区间查询还可...
分类:
其他好文 时间:
2014-09-02 10:34:04
阅读次数:
334
http://acm.hdu.edu.cn/showproblem.php?pid=1848利用计算grundy数组,把一类博弈转化为nim博弈,最后x不为0为先手必胜态#include #include #include #include #include using namespace std ...
分类:
其他好文 时间:
2014-09-01 02:43:52
阅读次数:
227
博弈问题若你想仔细学习博弈论,我强烈推荐加利福尼亚大学的Thomas S. Ferguson教授精心撰写并免费提供的这份教材,它使我受益太多。(如果你的英文水平不足以阅读它,我只能说,恐怕你还没到需要看“博弈论”的时候。)Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的...
分类:
其他好文 时间:
2014-08-31 18:36:31
阅读次数:
198