![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
博弈
HeartFireY
可能是ACMer、JXNU计算机科学协会前会长
展开
-
[SG函数] LightOJ.Partitioning Game
有nnn堆石子,每回合可选择把其中一堆分成数量不同的两堆,且必须分一次。不能再分的玩家输。初始状态下的必输态:sg[0]=sg[1]=sg[2]=0sg[0] = sg[1] = sg[2] = 0sg[0]=sg[1]=sg[2]=0,然后枚举每种分堆方式打SG表即可。注意,在求MEX的时候别用带log的数据结构(比如std::set),会超时…#include <bits/stdc++.h>//#define int long longusing namespace std;c原创 2022-02-13 20:25:17 · 278 阅读 · 0 评论 -
[SG函数]Split Game(2020江西省大学生程序设计竞赛)
一开始有一个n×mn \times mn×m的纸,之后随着游戏的进行,会得到多张不同大小的网格纸,这样就可以记一张纸为一个游戏,各个游戏构成一个游戏的和。其中每一个游戏都是一个有向图游戏,不过我们要自己找到不能行动的局面。显然1∗21*21∗2与1∗31*31∗3(2∗12*12∗1和3∗13*13∗1同理)无法再次分割,且其他矩形均可以分割成这两者之一,因此选取这两个局面作为必败局面。对于一张N×MN \times MN×M的矩形网格纸,我们可以枚举如何行动,然后得到两个子游戏,对两子游戏SGSGSG值原创 2022-02-13 19:25:40 · 2480 阅读 · 1 评论 -
[SG函数] 2021牛客寒假集训营6 H.寒冬信使2
传送门:H-寒冬信使2_2022牛客寒假算法基础集训营6 (nowcoder.com)思路首先回顾公平组合博弈的P点和N点:所有终结点是必败点(P-Position)从任何必胜点(N-Position)操作,至少存在一种方法进入必败点(P-Position)无论如何操作,从必败点只能进入必胜点(N-Position)那么我们开始分析本题目:采用二进制枚举的方式,用000代表bbb,111代表www,这样可以枚举一定长度内所有的组合。对于每一个状态,枚举能否进入必败态(初始必败态为000原创 2022-02-13 15:55:46 · 356 阅读 · 0 评论 -
The 2020 ICPC Asia Macau Regional Contest G.Game on Sequence 博弈+思维
Problem Analysis题目大意:给定一个长度为nnn的非负整数序列AAA,游戏规则为:初始状态有一个指针指向某个序列元素A[i]A[i]A[i],你可以从iii下标后面的元素中选择一个一个二进制位与其相差不超过111位的元素,并将指针移动到该元素上。AliceAliceAlice和GrammyGrammyGrammy轮流进行游戏,不能操作的人视为输掉游戏。对于输入而言,有两种操作,当输入1 k时,在序列尾部添加一个元素kkk。当输入2 k时,表示从kkk开始游戏。对于所有的操作,输出该次游戏的原创 2021-11-09 09:20:01 · 1127 阅读 · 0 评论 -
2021“MINIEYE杯”中国大学生算法设计超级联赛(8)GCD Game 数论+博弈
2021“MINIEYE杯”中国大学生算法设计超级联赛(8)GCD Game 质因子分解+NIM博弈???? | Powered By HeartFireY Problem Analysis题目大意:BobBobBob和AliceAliceAlice在玩游戏,每次可以进行一个操作:从给定的序列中每次选择一个数aia_iai,再任意选取一个x(1≤x<ai)x(1\leq x<a_i)x(1≤x<ai),然后用gcd(ai,x)gcd(a_i,x)gcd(ai,x)代原创 2021-08-13 23:15:02 · 216 阅读 · 0 评论