博弈
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[雅礼4-8]老魔杖 SG函数
又是SG函数打表找规律题,设1,2,3,4分别有a, b, c, d个。当(a+c)mod 2=(b+d)mod 3时先手必败。 别问我为什么,把每个转移列出来就能证了。。。 当然我考场上发现a mod 2,b mod 3,c mod 6,d mod 2后好像不影响答案,于是就那样写的。 代码:type edge=^edgenode; edgenode=record t:lon原创 2017-04-17 22:00:40 · 570 阅读 · 0 评论 -
[雅礼4-11]游戏 SG函数&&线性基
首先要知道多个互不影响的博弈游戏组成的一个状态的SG函数等于每个子游戏的SG函数的异或和。 所以我们先考虑x点只有1颗石子的情况。我们把x连出每种颜色的边的终点异或起来得到一个数集G,所以x的后继状态就是G的异或值域,而mex{G的异或值域}显然等于2^i(i为最小的线性相关的位),于是线性基大力求一波即可。 G中的数是O(n)级别的,要bitset。(pascal狗手写bitset) 因为一原创 2017-04-17 22:15:59 · 805 阅读 · 0 评论 -
[2017湖南集训7-9]营养餐 阶梯博弈
设num[i]表示点i还能取走多少个水果,num[i]=a[i]-sigma(a[son]*b[son]), 可以发现点i拿走k个后,num[i]-=k,num[fa[i]]+=k*b[i],于是就能想到阶梯博弈了,先把b[i]=0的点与fa[i]的边断掉,因为取了i点的水果对fa[i]是没有影响的,剩下的森林里,SG函数值即为对奇数层的Nim,即numi的异或和。因为对手把偶数层的移到奇数层,只原创 2017-07-09 19:51:46 · 320 阅读 · 0 评论 -
[2017雅礼7-6]right 分块
稍加分(da)析(biao)可知,当p为奇数时,SG(x)=x&1,当p为偶数时,SG(x)=(x%(p+1)==p)?2:((x%(p+1))&1)。 奇数的话相当于区间翻转,区间异或和,直接线段树即可。 偶数的话分块来处理,每个块维护一个add标记和两个有序数组,分别表示奇余数和偶余数,区间加的时候整块的打标记,零散的直接重构,时间复杂度O(n/s+slogs)。查询的时候整块lower_b原创 2017-07-09 21:13:38 · 365 阅读 · 0 评论 -
[2017纪中11-3]机房比教室好多了 博弈+树型DP
题面 先考虑出发点在x,先手玩以x为根这棵子树的答案。 首先不难证明,a[x]变大,不会变得更劣。 那我们考虑先手拿完一个石头后走向一个a[son]>=a[x]的儿子,这样肯定是不明智的,因为假如对手把你推回x,你当然不能和他一直这样推来推去(你肯定先死),所以你会选择去别的儿子,但这当然不如一开始就去别的儿子(因为a[x]更大)。 再考虑先手拿完一个石头后走向一个a[son]#includ原创 2017-11-03 21:31:12 · 355 阅读 · 0 评论 -
[ARC087]E - Prefix-free Game Trie树+SG函数
题面 考虑把所有输入的字符串看成一棵二叉Trie树(深度为LL),那么一个字符串所在的点到根节点的路径及其子树中不能有其他的点。 现在双方的操作就是在Trie树上轮流放点,也就是取走一个以xx为根的子树(要满足xx到根及其子树中没有点),谁不能取谁输。可以发现,在一棵完整的深度为TT的树中取走一个深度为SS的子树,会生成出深度为S,S+1,...,T−1S,S+1,...,T-1的子树各一个。原创 2017-12-25 21:55:22 · 634 阅读 · 0 评论 -
[2018雅礼集训1-2]取石子 分类讨论+组合数学
题面 首先所有石子先对a+ba+b取模不影响结果。先设a<ba<b。 然后每堆石子数有以下几种情况。 1. [0,a)[0,a) 跟没有没区别。 2. [a,b)[a,b) 只有Alice能取,所以存在这样的Alice必胜。 3. [b,2a)[b,2a) 两个人都只能取一次,跟其奇偶性有关。 4. [2a,a+b)[2a,a+b) Alice一次就能把它取成情况2,然后Bob就gg了,原创 2018-01-02 22:54:40 · 786 阅读 · 2 评论 -
[JZOJ5727] [色]和[流泪]||
我们把把一个游戏看成在二维平面上玩,一开始在(0,0)(0,0)(0,0),从左边删x+1x+1x+1,从右边删y+1y+1y+1。 那么假如左边删xxx个,右边删yyy个,那么SG(x,y)=0SG(x,y)=0SG(x,y)=0,我们称之为终止态,那么和终止态相邻且不为终止态的点SG=1SG=1SG=1,称其为边界态。 不难发现对于一个xxx,终止态只有一个,而且随着xxx增大yyy是单调...原创 2018-05-24 11:05:06 · 372 阅读 · 0 评论 -
[JZOJ5749] 小J真爱粉交流群 博弈
首先不难发现: B只会在A所在位置下面选择建墙或者不建; 如果选择不建A一定会向下走。 那么就可以推导出B在某一行建的墙一定是A移动的区间。 那么我们设fi,l,rfi,l,rf_{i,l,r}表示B在第iii行的[l,r][l,r][l,r]下有墙,A在l−1l−1l-1时的分数,gi,l,rgi,l,rg_{i,l,r}则表示A在r+1r+1r+1的分数。 两者转移类似,我们考虑ff...原创 2018-06-01 18:24:52 · 434 阅读 · 0 评论