转自:Angel_Kitty Sprague-Grundy定理(SG定理): 游戏和的SG函数等于各个游戏SG函数的Nim和。这样就可以将每一个子游戏分而治之,从而简化了问题。而Bouton定理就是Sprague-Grundy定理在Nim游戏中的直接应用,因为单堆的Nim游戏 SG函数满足 SG(x ...
分类:
其他好文 时间:
2017-09-04 22:44:17
阅读次数:
269
给定 n 堆石子, 第 1 堆石子有 a[1] 个, 第 2 堆石子有 a[2] 个, .... , 第 n 堆石子有 a[n] 个. Alice 和 Bob 进行回合制游戏, Alice 先手. 每个回合, 当前操作方可以选择其中的一堆石子, 并在这堆石子中取走任意个, 但是不能不取. 谁拿完所有 ...
分类:
其他好文 时间:
2017-08-23 10:29:58
阅读次数:
176
翻译 你正在和你的朋友们玩以下这个Nim游戏:桌子上有一堆石头。每次你从中去掉1-3个。谁消除掉最后一个石头即为赢家。你在取出石头的第一轮。 你们中的每个人都有着聪明的头脑和绝佳的策略。写一个函数来确定对于给定的数字是否你能够赢得这场比赛。 比如,假设堆中有4个石头,那么你永远也无法赢得比赛:不管你 ...
分类:
其他好文 时间:
2017-08-15 15:10:39
阅读次数:
181
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1069 有N堆石子。A B两个人轮流拿,A先拿。每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程 ...
分类:
其他好文 时间:
2017-08-12 11:47:52
阅读次数:
156
这次,我们来继续学习博弈论的知识。今天我们会学习更多的基础模型,以及SJ定理的应用。 首先,我们来看博弈论在DAG上的应用。首先来看一个小例子:在一个有向无环图中,有一个棋子从某一个点开始一直向它的出点移动,双方轮流操作,无法操作者输,问是否先手必胜。 考虑一下我们之前的Nim游戏,如果我们把后继状 ...
分类:
其他好文 时间:
2017-07-30 22:07:21
阅读次数:
247
Description 著名游戏设计师vfleaking,最近迷上了Nim。普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取。谁不能取谁输。这个游戏是有必胜策略的。于是vfleaking决定写一个玩Nim游戏的平台来坑玩家。为了设计漂亮一点的初始 ...
分类:
其他好文 时间:
2017-07-29 10:11:34
阅读次数:
135
【算法】博弈论+线性基 【题解】 显然第一步取走后留给对手的序列必须不存在子序列异或和为0。 数列的线性基就是最大的值域不含0的子序列,所以取走剩下的就可以了。 从大到小插入线性基,未插入的计入答案。 #include<cstdio> #include<algorithm> using namesp ...
分类:
其他好文 时间:
2017-07-25 19:44:23
阅读次数:
173
【算法】博弈论 【题解】这道题不是典型的SG函数题了。 不把它当成游戏看待,那么这道题是在说n个石子堆,每次可以加入若干个或进行Nim游戏。 我们当前先手,则考虑构造必败态来获胜。 当前已加入的NIm游戏SG=0,则必须考虑加入石子堆,若加入m堆构造出SG=0,对方有两种选择: 加入新的石子堆,则必 ...
分类:
其他好文 时间:
2017-07-25 12:33:21
阅读次数:
120
题意:变形的nim游戏,多堆石子,每次只能拿走S集合中的数 题解:简单SG函数,一开始写错了。。。 ...
分类:
其他好文 时间:
2017-07-23 22:35:22
阅读次数:
143
前些日子我打算开了博弈基础,事后想进行总结下 一句话就是分析必胜或必败,异或为0。 以下内容来自转载: Nim游戏的概述: 还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取。最后拿光珍珠的人输。后来,在一份资料上看到,这种游戏称为“拈(Nim)”。据说, ...
分类:
其他好文 时间:
2017-07-18 01:41:04
阅读次数:
215