SG函数的应用 看到这题就想到了SG函数 那么可以考虑最终情况:一个数是x,另一个是0,那么先手必败(因为上一个人已经得到0了,其实游戏已经结束了) 剩下的情况:一个数n, 一个数m,假设n m 那么根据题意,SG(n,m)=mex{SG(n m, m), SG(n 2m, m), ......, ...
分类:
其他好文 时间:
2018-02-26 21:39:22
阅读次数:
145
前言 在 "上一节" 中,我们初步了解了一下SG函数与SG定理。 今天我们来分析一下SG游戏的变式——Anti SG游戏以及它所对应的SG定理 首先从最基本的Anti Nim游戏开始 Anti Nim游戏是这样的 有两个顶尖聪明的人在玩游戏,游戏规则是这样的: 有$n$堆石子,两个人可以从任意一堆石 ...
分类:
其他好文 时间:
2018-02-25 19:24:32
阅读次数:
253
SG函数 个人理解:SG函数是人们在研究博弈论的道路上迈出的重要一步,它把许多杂乱无章的博弈游戏通过某种规则结合在了一起,使得一类普遍的博弈问题得到了解决。 从SG函数开始,我们不再是单纯的同过找规律等方法去解决博弈问题,而是需要学习一些博弈论中基本的定理,来找到他们的共同特点 那么就先介绍几个最基 ...
分类:
其他好文 时间:
2018-02-25 19:12:39
阅读次数:
161
Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏。该游戏的规则试:共有n个瓶子,标号为0,1,2.....n-1,第i个瓶子中 装有p[i]颗巧克力豆,两个人轮流取豆子,每一轮每人选择3个瓶子。标号为i,j,k,并要保证i<j,j<=k且第i个瓶子 中至少要有1颗巧克力豆,随后这个人从 ...
分类:
其他好文 时间:
2018-02-25 15:58:48
阅读次数:
191
"题目链接" cpp //求三堆石子的SG函数,异或起来就是整个游戏的SG值 include include const int N=1005; int n,m,p,cnt,F[N],sg[N+2]; bool vis[N+2]; void Init() { F[0]=F[1]=1; for(cnt ...
分类:
其他好文 时间:
2018-02-25 11:27:57
阅读次数:
173
Description 小H和小Z正在玩一个取石子游戏。 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子, 每次取石子的个数有限制,谁不能取石子时就会输掉游戏。 小H先进行操作,他想问你他是否有必胜策略,如果有 ,第一步如何取石子。 小H和小Z正在玩一个取石子游戏。 取石子游戏的 ...
博弈论。 就是有一堆石子你拿走一堆中的一个,然后再向后面两堆中加两个问胜负 i<j<=k 所以我们可以直接通过sg函数计算,考虑问题的奇偶性,如果这一位是奇的我们才考虑,偶的可以模仿 然后对所有sg异或一下,找到三个数异或起来能使当前先手必败即可。 By:大奕哥 ...
分类:
其他好文 时间:
2018-02-09 22:19:37
阅读次数:
128
暴力求SG函数即可,记忆化贼方便 / program from Wolfycz / include include include include include define inf 0x7f7f7f7f using namespace std; typedef long long ll; typ ...
分类:
移动开发 时间:
2018-02-09 15:20:10
阅读次数:
227
网上的博弈博客和论文有很多,但是有些没有详细的证明,仅仅是给出了结论。今天作者将一些常见的博弈论模板集中起来,给大家介绍一下博弈论中一些单一游戏的决策和常见的Nim模板与证明。 注:下列游戏都建立在双方都有最优策略的情况下,若未加以说明,则每人每次至少取一个石子。 例1:取石子游戏之一 有两个游戏者 ...
分类:
编程语言 时间:
2018-02-08 13:42:56
阅读次数:
222
参考题集就好了 <!--StartFragment --> http://url.cn/5qNJibq 基本博弈 1,巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 必胜条件: n=(m+1)r+s 2,威佐夫博弈(Wy ...
分类:
其他好文 时间:
2018-02-06 20:17:11
阅读次数:
477