题目分析: 这是一个经典的Multi-SG游戏的问题。 相较于普通的Nim游戏,该游戏仅仅是多了拆成两堆这样的一个状态。即多了一个SG(x+y)的过程。 而根据SG定理,SG(x+y)这个游戏的结果可以拆成SG(x)和 SG(y)游戏的结果的xor。 因此,在我们求SG函数的过程中,我们只需要再** ...
分类:
其他好文 时间:
2020-09-17 21:17:54
阅读次数:
28
大多数博弈问题可以把状态看成点,操作看成边,抽象为有向图游戏。 一个DAG的起点上有一个棋子,玩家轮流把棋子沿出边移动,无法移动者失败。 这张图上每个结点有一个SG(x),定义为mex{SG(y)},y是x的出边可以到达的点。 SG定理 :由若干个DAG组成的游戏,先手必胜当且仅当SG(s)的xor ...
分类:
其他好文 时间:
2020-02-24 17:09:07
阅读次数:
54
HDU2176题意: m堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子. 通过 SG定理 我们可以知道每一个数的SG值,等于这个数到达不了的前面数中的最小值。本题题意和尼姆博弈一样,即可以在一堆中任意个石子,所以也就是说每个数都可以到达前面经过的 ...
分类:
编程语言 时间:
2019-08-13 11:49:32
阅读次数:
134
题目描述 题解: 首先,由$SG$定理得$SG(x,y)=mex(SG(x',y)^SG(x,y')^SG(x',y'))(x'<x,y'<y)$ 这里的$SG(x,y)$叫$Nim$积。 $Nim$积满足交换律、结合律以及对$Nim$和(异或)的分配律。 代码: ...
分类:
其他好文 时间:
2019-02-04 15:24:32
阅读次数:
144
一、必胜点和必败点的概念 P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败。 N点:必胜点,处于此情况下,双方操作均正确的情况下必胜。 必胜点和必败点的性质: 1、所有终结点是 必败点 P 。(我们以此为基本前提进行推理,换句话说,我们以此为假设) 2、从任何必胜点N 操作,至 ...
分类:
其他好文 时间:
2019-01-16 19:18:33
阅读次数:
198
在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败。 N点:必胜点,处于此情况下,双方操作均正确的情况下必胜。 必胜点和必败点的性质: 1、所有终结点是 必败点 P 。(我们以此为基本前提进行推 ...
分类:
其他好文 时间:
2019-01-07 22:34:01
阅读次数:
138
A Chess Game poj-2425 题目大意:题目链接 注释:略。 想法:这个题就是为什么必须要用记忆化搜索。因为压根就不知道后继是谁。 我们通过SG定理可知:当前游戏的SG值等于所有子游戏的SG的异或和。 我们就可以dp了。 最后,附上丑陋的代码... ... 小结:血泪教训:dfs那个v ...
分类:
其他好文 时间:
2018-09-09 22:18:18
阅读次数:
199
哎,被卡科技了,想了三个小时,最后还是大佬给我说是$SG$函数。 $SG$函数,用起来很简单,证明呢?(不可能的,这辈子都是不可能的) $SG$定理 游戏的$SG$函数就是各个子游戏的$SG$函数的$Nim sum$(就是异或和),比如多堆石子的$SG$函数就是所有单堆石子$SG$函数的异或和。 $ ...
分类:
其他好文 时间:
2018-09-01 14:33:29
阅读次数:
126
【HDU1848】Fibonacci again and again(博弈论) 题面 "Hdu" 你有三堆石子,每堆石子的个数是$n,m,p$,你每次可以从一堆石子中取走斐波那契数列中一个元素等数量的石子数,两人轮流取,不能操作者输,判定先后手的胜利。 题解 根据$SG$定理,三堆石子可以拆开来看, ...
分类:
其他好文 时间:
2018-08-16 20:54:43
阅读次数:
161
题面 "题目传送门" 解法 显然,这个游戏可以拆成多个游戏的和 那么,我们就可以使用SG定理 定义$SG(x,y)$表示同一组石子中分别有$x$个石子和$y$个石子的$SG$值 发现$x,y≤10^9$,然后打表找规律 可以发现,若$x,y$都为奇数,那么$SG(x,y)=0$ 否则,$SG(x,y ...
分类:
其他好文 时间:
2018-08-14 19:59:12
阅读次数:
131