摘要:
大意就是放n个硬币,每次放一个计算下这种情况下的操作次数,一个操作为从左到右扫描,如果一个硬币右边是空的,就将硬币后移,否则该次操作停止。 显然发现对于一个情况,我们只要考虑最右边的空位的左侧有几个硬币就行了.. 树状数组维护下前缀和就行了。 一开始就想到了树状数组,后面傻逼的觉得不用数据结构,每次 阅读全文
摘要:
多个子游戏同时进行,每个子游戏给出两个数a,b,可以将大的数减去k倍小的数,不能操作者输。 策略就是对于一个必胜的游戏要使得步数更长,对于一个必败的游戏使得步数最短。 以下都来自贾志豪的论文.. 对于Every-SG 游戏先手必胜当且仅当单一游戏中最大的step 为奇数。 阅读全文
摘要:
如果我们规定当局面中所有的单一游戏的SG值为0时,游戏结束,则先手必胜当且仅当:(1)游戏的SG!=0 && 存在单一游戏的SG>1;(2)游戏的SG==0 && 任意单一游戏的SG==0。 阅读全文
摘要:
翻硬币游戏,任意选3个,最右边的一个必须是正面。不能操作者败。 基本模型..不太可能自己推 还是老实记下来吧..对于单个硬币的SG值为2x或2x+1,当该硬币的位置x,其二进制1的个数为偶数时,sg=2x+1否则为2x LINK 阅读全文
摘要:
长为n的一列格子,轮流放同种棋子,率先使棋子连成3个者胜。 可以发现每次放一个棋子后,后手都不能放在[x-2,x+2]这个区间,那么相当于每次放棋将游戏分成了两个,不能放棋者败。 暴力求SG即可 阅读全文
摘要:
每次有n个盒子,每个盒子有容量上限,每次操作可以放入石头,数量为不超过当前盒子中数量的平方,不能操作者输。 一个盒子算一个子游戏。 对于一个盒子其容量为s,当前石子数为x,那么如果有a满足 $a \times a + a < s \land (a+1) + (a+1)^2 >= s$,那么可知此时的 阅读全文
摘要:
两者间的间距就是可取石子数,因为对于行内黑白相连的局面该子游戏已经结束了因为此时不管先手再怎么移都是必败,SG=0的终止态 阅读全文
摘要:
n个棋子,其中第k个是红色的,每个棋子只能往上爬,而且不能越过、重叠其他棋子,谁将红色棋子移到顶部谁赢。 由于只能往上爬,所以很像阶梯博弈。这题有2个限制,棋子不能重叠,有红棋存在 首先不考虑红色棋,那么我们可以视棋于棋间的距离为石子堆,这样棋子两两分组就是奇数堆,组与组间的距离就是偶数堆。 有个特 阅读全文
摘要:
n堆石子,每次选取两堆a!=b,(a+b)%2=1 && a!=b && 3|a+b,不能操作者输 选石子堆为奇数的等价于选取步数为奇数的,观察发现 1 3 4 是无法再移动的 步数为0,然后发现以6为周期,取模就好了 阅读全文
摘要:
一个拓扑结构的图,给定n个棋的位置,每次可以沿边走,不能操作者输。 已经给出了拓扑图了,对于每个棋子找一遍SG最后SG和就行了。 阅读全文
摘要:
基本的树上删边游戏 写过很多遍了 阅读全文
摘要:
普通NIM规则加上一条可以分解为两堆,标准的Multi-SG游戏 一般Multi-SG就是根据拓扑图计算SG函数,这题打表后还能发现规律 sg(1)=1 sg(2)=2 sg(3)=mex{0,1,2,1^2}=4 sg(4)=mex{0,1,2,sg(3)}=3 可以发现3和4的时候相当于互换了位 阅读全文
摘要:
基础的bash博弈,两人捐钱,每次不超过m,谁先捐到n谁胜。 对于一个初始值n,如果其不为(m+1)的倍数,那么先手把余数拿掉,后继游戏中不管如何,后手操作后必定会有数余下,那么先手必胜,反之后手必胜。 阅读全文
摘要:
普通的NIM,然后问先手必胜第一次操作后的所有局面。 对于一个必胜局面只要转变局面SG值为必败(SG=0)留给后手就行了。 阅读全文
摘要:
n*n棋盘,初始左上角有一个石头,每次放只能在相邻的四个位置之一,不能操作者输。 如果以初始石头编号为1作为后手,那么对于每次先手胜的情况其最后一步的四周的编号必定是奇数,且此时编号为偶数,而对于一个局面,每个人都可以操控方向以致走完整个棋盘,所以当棋盘总格数为偶数时,先手必胜,而为奇数时,后手必胜 阅读全文
摘要:
给两数a,b,大的数b = b - a*k,a*k为不大于b的数,重复过程,直到一个数为0时,此时当前操作人胜。 可以发现如果每次b=b%a,那么GCD的步数决定了先手后手谁胜,而每次GCD的一步过程视为一个子游戏,但是可以发现如果当前可以约的次数大于2,那么此时操作的人可以控制局面,那么考虑所有可 阅读全文