博弈题乱做

CF1442F Differentiating Games

考虑加完边之后那些到不了环的点,设为 \(S\),它们的 SG 值必须互不相同,于是一定构成一个无环的竞赛图,需要 \(O(|S|^2)\) 条边。对于剩下的点,发现一般环不太好处理,于是给它们每个点连一个自环。

\(S\) 中的点分别询问,如果有一个点答案为输,那么 \(x\) 就是那个点。否则,\(x\) 为某个有自环的点。分析一下,发现当询问到 \(S\)\(x\) 的后继时答案为胜,否则为平。那么我们需要保证有自环点到 \(T\) 中的后继集合互不相同。

\(S\) 为原图拓扑序的后 \(20\) 个点,对别的点贪心加/删边调整就能在规定次数内满足条件了。

CF1033G Chip Game

将所有 \(v\)\(a+b\) 取模,设为 \(u\),那么游戏 \(u\) 的胜者就是游戏 \(v\) 的胜者。因为 \(u\) 胜者可以假装在玩游戏 \(u\),当另一个人将某个 \(u_i\) 减到负数时他可以再减一次,这样 \(v_i\bmod (a+b)\) 不变,这两步操作对 \(u\) 没有影响。

考虑如何确定 \(u\) 的胜负关系,发现每堆石子最多只能被一个人取。不妨设 \(a\leq b\),那么:

  • \(u_i<a\) 的堆可以忽略;
  • 若存在 \(a\leq u_i<b\)\(a\) 胜;
  • 若存在 \(2a\leq u_i\)\(a\) 先手或有多于一堆满足条件,\(a\) 胜;
  • 剩下情况只和先后手及石子堆数有关。

于是可以枚举 \(a+b\),然后将 \(v\) 取模后排序,分类讨论一下对 \(a,b\) 的取值计数即可,可以只统计胜负只和先后手有关的情况。

CF1439E Cheat and Win

对于一棵树,点 \(i\) 的 SG 值为 \(2^{dep_i}\),于是后手胜当且仅当每层的黑点数为偶数。那么答案就为每种深度黑点个数 \(\bmod 2\) 差分后非 \(0\) 的位置数。

由于原图点数非常大,所以考虑建虚树,那么就需比较 dfn 和和 lca,可以考虑怎么快速的跳 fa。将 \((x,y)\) 改写为 \((x+y,x)\)。于是 \((x,y)\) 的 fa 只能为 \((x-1,y)\)\((x-1,y-1)\),发现当 \(\operatorname{lowbit}(x)<\operatorname{lowbit}(y)\) 时为前者,否则为后者。更进一步,连续的 \(\operatorname{lowbit}(x)\) 级祖先都是同一种情况,可以一起处理,那么一个点至多跳 \(O(\log)\) 步就会跳到根。

建出虚树后容易处理链染色对深度的贡献,就做完了。

https://codeforces.com/contest/1439/submission/131110694

CF1458E Nim Shortcuts

维护一个以 \((0,0)\) 为左下角的矩形,满足每行每列至少有一个必败点。当他上面一行有 shortcut 是就往上扩展一行,右面同理,若都没有就标记右上角是必败点,然后往右上扩展一行一列。

这样预处理出的所有必败态为 shortcuts 和若干条斜率为 \(1\) 的线段/射线,对于后者,查询时就在固定截距的线段/射线上二分就好了。

AGC010D Decrementing

如果全是奇数,那么后手可以走模仿着获胜,否则,将最后一个偶数变为奇数的人获胜,这样只和偶数个数的奇偶性有关。但有一种特殊情况,当只有一个奇数和偶数个偶数时,先手会操作那个奇数使序列 \(/\gcd\) 让他更有几率获胜。这种情况至多只会发生 \(O(\log)\) 次,暴力递归下去判断就行了。

https://atcoder.jp/contests/agc010/submissions/26392571

CF1147F Zigzag Game

希望找到一组完美匹配使得 Bob 可以一直沿着匹配边走,然后发现这是一个稳定婚姻问题,做完了。

https://codeforces.com/contest/1147/submission/110935845

AGC026F Manju Game

首先发现假如先手把序列分成的两端中有偶数段,那么后手可以取这段来获得另一段的先手权,对先手肯定不优。

于是,如果 \(n\) 为偶数,那么先手一定取开头或结尾。否则,先手肯定取偶数位置,然后后手选择一段取完递归到另一段。结果就是先手取了一段奇数前缀和后缀的偶数位置,以及中间一段的奇数位置。那么问题就转化为先手选择若干个偶数位置作为分界点,最大化分成的段中奇数位置减偶数位置的最大值,可以二分加贪心解决。

posted @ 2021-10-08 14:33  Y25t  阅读(148)  评论(0编辑  收藏  举报