day6

P7589 黑白棋

观察到后退操作非常局限,只要自己贴近了,对手就会被卡住反复后退。

因此根本用不出这个操作,那原问题就相当于 Nim 游戏。

阶梯 Nim

大概是说序列 \(0\) 位置是垃圾桶,每次可以把 \(i\) 移交任意石子给 \(i-1\),不能操作者负。

这个问题咋看没啥思路,但有个很巧妙的方法:取一个特征量,保持其不变。

对于偶数 \(i\),当一个人将一些石子移到 \(i-1\) 时,另一个人可以把等量的石子移到 \(i-2\),于是奇数 \(i\) 上的石子总数总不会改变。

这个操作先后手都能做,那么它的影响对于先后手都不存在,于是只有奇数 \(i\) 上的石子是有用的,且操作相当于取石子,终态是和为 \(0\)

于是相当于奇数位置上的 Nim 游戏,这就是阶梯 Nim。

P2575 高手过招

显然这个 20 没啥用,然后可以看作多个游戏。

移动棋子的方式比较鬼畜,画出来容易发现看成把空格之间的棋子合并拆分,而且只能往左放,那这就是个阶梯 Nim。

loj6364 烂柯

\(k\) 当作根,按深度奇偶性分类,相当于树上阶梯 Nim。

P13114 Bacterial Tactics

不是博弈。

是个公平组合游戏,可以求 SG 值。

\(f(x_1,y_1,x_2,y_2)\) 为一个矩形的 SG 值,枚举先手操作进行转移。

P13263 Willow

讨论题,枚举第一条边,然后分 同向/异向/相向 讨论。

前两种情况可以简单处理,最后一种也可以预处理一些信息出来递推。

CF1037G A Game on Strings

显然可以对 SG 值区间 dp,然后考虑这个区间 dp。

注意到游戏的状态数实际很少,因为操作一次后除了两端,其余生成的串端点都是同字符。

称两端同字符的串为一般串,不同的为特殊串。

因为一般串是极小的,所以个数是 \(\mathcal{O}(n)\) 的,特殊串可以看作一般串的前后缀,个数是 \(\mathcal{O}(n|\Sigma|)\) 的。

处理一下一般串的前缀异或和,然后直接记忆化貌似就是对的。

CF1704F Colouring Game

对于 RB 分开的位置,然后互相独立,一定是对形如 WRRRRW 的从外往内逐个 R 消去,因此只需比较两种颜色的个数。

对于 RB 连续的位置,先后手都会争抢。

考虑做一次 RB,两个颜色消去一样的数量,最后还是判断起始的 RB 个数,然而此时可能攻守之势异也。

不过有影响的也只是初始 RB 数相同的情况,初始 RB 数不同的话,就算反转了救不回来。

因此这个问题相当于不断删 RB,删不了的负。

考虑初始的 RBRBRB 这样的段,每段独立且一次操作会将其断开。

据此 dp 其 SG 值 \(f_i\),然后发现它有循环节,就完了。

CF725F Family Photos

对一张照片讨论。

\(a_1+b_1\ge a_2+b_2\),那么先后手都想要第一张。

否则考虑 \(a_1+b_1<a_2+b_2\),两个人都不想要第一张,那这对照片就拿不走了。

不过思考一下,取完前面的若干对,那如果剩下 \(a_1>b_2\),先手就不取白不取,反之 \(b_1>a_2\),后手不取白不取。

是否存在后手看到先手取了个 \(a_1\),然后跑去另外拿一张的情况?

不可能,如果此时没出现一个人拿一对,那么是可以归类到上面的,如果此时有一个人拿一对,比较一下发现也可以归类到上面。

AGC010D Decrementing

注意到有 \(1\) 就胜负已定,且只关注 \(\sum{a_i-1}\) 奇偶性。

因此考虑是否存在维持和改变奇偶性的做法。

显然希望 \(\gcd{a_i-1}\) 是奇数,这样就不会因为除法改变奇偶性。

注意到对于 \(\sum{a_i-1}\) 为奇数先手占优,此时若有一个 \(a_i\) 是奇数,那么先手可以减少一个偶数 \(a_j\),这样至少有两个奇数给后手。

后手做完之后,因为不涉及除法,所以先手维持了自己优的奇偶性。

如果一开始 \(\sum{a_i-1}\) 是偶数,那么先手就需要想办法翻盘。

显然后手可以用一样的操作控制局面,因此先手必须在第一步就做出一个除法,也就是对序列里唯一的奇数 \(a_i\) 做一次减少。

做完后如果 \(\sum{a_i-1}\) 仍然是偶数,后手也可以尝试翻盘,方法同理。

然而能翻盘就必定会做除法,那么最多模拟 \(\mathcal{O}(\lg V)\) 轮就可以直接判断。

CF1149E Election Promises

既然没有环,那就很好说了。

考虑链,发现这个东西类似阶梯 Nim。

考虑 DAG,发现这个东西要做成阶梯 Nim 需要一个适合的分组。

就像奇偶性分组一样可以一步维持局面,那我们一步操作就能干掉所有组。

比较神秘地可以想到 \(\operatorname{MEX}\) 就是满足这个性质的!

于是直接在 DAG 上跑出 sg 函数然后按照这个分组模拟即可。

P9537 Qingshan and Daniel 2

ABC398GNotOnlyTreeGame

posted @ 2025-08-18 21:04  LQ636721  阅读(5)  评论(0)    收藏  举报