随笔分类 -  【题型】博弈论

摘要:一下两个题目都是按堆取石子,轮流取,每个人都贪心的取即可,感觉都不像博弈。 CF388C 有n排石子,每排有若干堆。Ciel可以选择一排,拿走这一排的第一堆石子。Jiro可以选择一排,拿走这一排的最后一堆石子。两个人都想要让自己的石子数量最多。问两个人最后的石子数量。Ciel先手。 分析: 先考虑C 阅读全文
posted @ 2019-10-07 23:50 Rogn 阅读(660) 评论(0) 推荐(0) 编辑
摘要:转载自知乎牛客竞赛——博弈论入门(函数讲解+真题模板) SG函数 作用 对于一个状态i为先手必胜态当且仅当SG(i)!=0。 转移 那怎么得到SG函数尼。 SG(i)=mex(SG(j))(状态i可以通过一步转移到j) 首先说一下mex。一个集合的mex是最小的没有出现在这个集合里的非负整数。 其实 阅读全文
posted @ 2019-10-06 23:40 Rogn 阅读(647) 评论(0) 推荐(0) 编辑
摘要:BZOJ1115 题意:阶梯Nim游戏大意:每个阶梯上有一堆石子,两个人在阶梯上玩推石子游戏。每人可以将某堆的任意多石子向左推一阶,所有的石子都推到阶梯下了即算成功,即不能推的输。 分析:根据阶梯Nim的思想,推偶数堆(索引为偶数的)是没有意义的(详见链接),只需将奇数堆求Nim和,即异或和。 #i 阅读全文
posted @ 2019-10-06 11:02 Rogn 阅读(306) 评论(0) 推荐(0) 编辑
摘要:题意 有两个盒子分别有m颗糖果和n颗糖果,每次移动是将一个盒子清空而把另一个盒子里得一些糖果拿到被清空的盒子,使得两个盒子至少各有一个。无法移动者输。 分析 设初始状态为(m, n),显然(1, 1)是终态。 其实对于一个状态,只与两者之和有关。按k=m+n从小到大排序,就能递推的求出每个状态是必胜 阅读全文
posted @ 2019-10-06 00:05 Rogn 阅读(287) 评论(0) 推荐(0) 编辑
摘要:首先介绍一个重要定理——策梅洛定理(Zermelo) Chomp!游戏 问题:有一个n*m的棋盘,每次可以取走一个方格并拿掉它右边和上边的所有方格。拿到左下角的格子(1,1)者输,那么谁会赢呢? 先给结论:除了(1, 1)先手必败外,其他都是先手必胜。 证明如下: 根据策梅洛定理,这个问题至少有一方 阅读全文
posted @ 2019-10-05 23:52 Rogn 阅读(1391) 评论(0) 推荐(0) 编辑
摘要:Grundy值 当前状态的Grundy值就是除任意一步所能转移到的状态的Grundy值以外的最小非负整数, 以硬币问题一为例,可写成: Grundy值有什么用呢? 它的作用是巨大的,利用它,不光可以解决这个问题,其它许多问题都可以转换成前面介绍的Nim问题,即问题的解等于子问题的异或和。 Nim问题 阅读全文
posted @ 2019-10-05 21:22 Rogn 阅读(406) 评论(0) 推荐(0) 编辑
摘要:Nim博弈 题目 有n堆物品,两人轮流取,每次取某堆中不少于1个,先取完者胜。 分析 经典问题,该问题的策略也成为了许多问题的基础。 要判断游戏的胜负只需要异或运算就可以了,有以下结论: $a_1 \ xor \ a_2\ xor ... \ xor a_n \neq 0$,必胜态 $a_1 \ x 阅读全文
posted @ 2019-10-05 18:24 Rogn 阅读(295) 评论(0) 推荐(0) 编辑
摘要:题目 给定两个整数 a 和 b,Stan和Ollie轮流从较大的数字中减去较小的数的倍数。这里的倍数是指1倍、2倍这样的整数倍,并且相减后的结果不能小于0。Stan先手,在自己的回合将其中一个数变成零的一方获胜。当双方都采取最优策略时,谁会获胜? 分析 不妨设 a<b, 情况一:若b<2a,则(a, 阅读全文
posted @ 2019-10-05 16:07 Rogn 阅读(262) 评论(0) 推荐(0) 编辑
摘要:题目 n枚硬币排成一个圈。Alice和Bob轮流从中取一枚或两枚硬币。不过,取两枚时,所取的两枚硬币必须是连续的。硬币取走之后留下空格,相隔空格的硬币视为不连续。Alice开始先取,取走最后一枚硬币的获胜。当双方都采取最有策略时,谁会获胜? 分析 不管,先爆搜找规律。 规律很明显,小于等于2先手赢, 阅读全文
posted @ 2019-10-05 11:16 Rogn 阅读(344) 评论(0) 推荐(0) 编辑
摘要:题目 Alice和Bo在玩这样一个游戏,给定 $k$ 个数字 $a_1, a_2,..,a_k$.一开始有 $x$ 枚硬币,Alice和Bob轮流取硬币。每次所取的硬币的枚数一定要在 $k$ 个数当中。Alice先取,取走最后一枚的获胜。当双方都采取最有策略时,谁会获胜?假设 $k$ 个数中一定有1 阅读全文
posted @ 2019-10-05 10:28 Rogn 阅读(361) 评论(0) 推荐(0) 编辑
摘要:题意 有n个格子排成一行,两人轮流填,可填入"S"或"0",先得到"SOS"的人胜;如果全部填完也没有出现"SOS",则为平局。请判断是先手胜、后手胜还有平局。 分析 第一次知道,博弈题也能打表找规律。 简单地说就是,给DFS一个返回值,返回三个不同的值分别代表先手胜、后手胜和平局。 枚举当前填的格 阅读全文
posted @ 2019-10-04 22:59 Rogn 阅读(572) 评论(0) 推荐(0) 编辑
摘要:题意 P个海盗偷了D颗钻石后分赃($3 \leq P, D\leq 100$),采用分赃策略: 从1号开始,提出一个分配金币的方案,如果能够得到包括1号在内的绝对多数(即大于半数)同意,则执行该方案,否则1号将被投入大海喂鲨鱼;而后依次类似地由第2号、第3号等等海盗提方案。 且有假设:1.绝顶聪明, 阅读全文
posted @ 2019-09-29 23:31 Rogn 阅读(485) 评论(0) 推荐(0) 编辑
摘要:SG函数 sg[i]为0表示i节点先手必败。 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。 对于一个给定的有向无环图,定义关于图的每个顶点的Spra 阅读全文
posted @ 2019-04-06 22:48 Rogn 阅读(462) 评论(2) 推荐(0) 编辑
摘要:博弈论的题目有如下特点: 下面介绍几个经典的博弈。 巴什博弈(Bash Game) 一堆n个物品,两个人轮流从中取出1~m个,最后取光者胜(不能继续取的人输)。 同余定理:$n=k*(m+1)+r$,先者拿走$r$个,那么后者无论拿走$1~m$个先者只要的数目使和为$m+1$,那么先手必赢。反之若$ 阅读全文
posted @ 2019-04-06 17:23 Rogn 阅读(4941) 评论(2) 推荐(0) 编辑
摘要:游戏简介 Chomp是一个双人游戏,有m x n块曲奇饼排成一个矩形格状,称作棋盘。 两个玩家轮流自选一块还剩下的曲奇饼,而且还要把它右边和下边所有的曲奇饼都取走(如果存在) 先吃到左上角(1,1)那块曲奇饼的玩家为失败 如图所示 红方选择(3,3) > 蓝方选择(1,4) > 红方选择(1,2) 阅读全文
posted @ 2018-11-02 23:00 Rogn 阅读(5421) 评论(0) 推荐(0) 编辑