摘要: 题目描述 题解: 这道题比较特殊,要求将棋子都移动到最后一堆。 所以我们的状态不是这一堆有多少棋子,而是这个棋子在第几堆。 然后对于棋子求一下$SG$函数。 此时$ans$本应等于所有棋子$SG$函数值的异或和,但是a^a=0,相当于偶数自己和自己约掉, 那么ans^=sg[i](a[i]&1)即可 阅读全文
posted @ 2019-01-22 23:14 LiGuanlin 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目描述: $100*100$的棋盘上有$n$个$Queen$,每个$Queen$可以向左,向下,向左下移动。 两人轮流操作,将任何一个$Queen$移动到$(0,0)$的人获胜。 一个位置上可以有很多$Queen$,$Queen$移动时不需要考虑经过路径上是否有$Queen$。 题解: 这个很像$ 阅读全文
posted @ 2019-01-22 23:06 LiGuanlin 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: $n=1$或$n=2$时,先手直接取完,先手必胜; $n=3$时,先手必败; $n>3$时,若$n$为偶数,先手在一个位置上取了一个/两个,后手就在对称位置上取一个/两个。 若$n$为奇数,第一轮先手在一个位置上取了一个/两个,后手就在对称位置上取两个/一个,接下来按对称取。 所以 阅读全文
posted @ 2019-01-22 22:54 LiGuanlin 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 2e9的博弈肯定要先打表找规律。 求$SG$函数就不说了,直接上表。 乍一看看到了一堆$0$。 仔细一看发现每个$2*2$的方框中只有左上是$0$,其余是同一个数字。 然后增大间隔打表,发现…… 代码: 阅读全文
posted @ 2019-01-22 22:48 LiGuanlin 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 一道非常简单的$SG$函数应用。 对于一个长度求它的$SG$函数,然后判断是否为$0$即可。 代码: 阅读全文
posted @ 2019-01-22 22:37 LiGuanlin 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 假设当前局势为$(a,b)$,其中$a<b$。 分类讨论。 $b-a<a$,此时先手只能将$b$减去一个$a$,状态只与$(a,b-a)$有关。 $b-a>a$,设有$x$满足$0<b-ax<a$,且一定有$x>=2$。 若$(a,b%a)$为必胜,那先手可以让$b$减去$a(x- 阅读全文
posted @ 2019-01-22 22:33 LiGuanlin 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 数据范围这么大当然先打表了。 然后发现$P-position$分布极为稀疏。 不妨设$x<y$,则$P-position$为:$(0,0)$,$(1,2)$,$(3,5)$,$(4,7)$…… 有两个规律: 1.所有正整数出现且仅出现一次。 2.第$k$个点的$y-x=k$。 所以 阅读全文
posted @ 2019-01-22 22:26 LiGuanlin 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 博弈搜索,后继状态中有一个为$P-position$则当前为$N-position$,否则为$P-position$。 有益于陶冶情操。 代码: 阅读全文
posted @ 2019-01-22 22:19 LiGuanlin 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 一个蒟蒻来口胡$SG$函数与$SG$定理。 要是发现有不对之处望指教。 首先我们来了解一下$Nim$游戏。 $Nim$游戏是公平组合游戏的一种,意思是当前可行操作仅依赖于当前局势。 而经典$Nim$游戏是指,一个地方放了$n$堆棋子,每堆棋子数目$a_i$给定。 两人轮流操作,每次操作从一堆中拿出任 阅读全文
posted @ 2019-01-22 21:01 LiGuanlin 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 题目的描述比较长,理解起来也有一定难度。仔细读题后我们发现整个任务可以分成两个部分:找出咒语机之间所有的升级关系、求最长升级序列。 1、 求升级关系: 容易看出,咒语机i可以抽象成一个图Gi,其顶点集Vi为ni个元件,每个顶点发出两条边——“0”边和“1”边,分别表示将信号加“0” 阅读全文
posted @ 2019-01-22 16:57 LiGuanlin 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 考试的时候手画打表,然后半个小时磨了个式子:$$f[i][j]=f[i-1][j-1]+f[i][j-1]$$ 交上去$A$的时候都蒙了。 考后才知道原因。 考虑$n$维空间内原来有$i-1$个“球”,所以$f[i][j]+=f[i][j-1]$; 然后为了划分最多,“截面”还是一 阅读全文
posted @ 2019-01-22 16:54 LiGuanlin 阅读(100) 评论(0) 推荐(0) 编辑