金华3.19

金华3.19

博弈论

ICG:公平组合游戏,有先手必胜/后手必胜,其满足:

  1. 有两个玩家,游戏对两个玩家是公平的
  2. 游戏状态有限
  3. 一个玩家不能行动时游戏结束

满足这些情况时可以使用SG函数解决,一个状态的SG值等于他能到达的状态的SG的mex,多个游戏的SG值等于其异或和。当且仅当SG为0先手必败,否则先手必胜。

ZROI1743 取石子

n堆石子,每个人可以取a~b个石子,无法操作的人失败。此外,当一个人取完一堆石子时他会立即获胜。

这题有个条件:取完一堆石子时他会立即获胜,那它就不是个ICG,无法使用SG函数来做。我们考虑判掉有 \(|x_i|\in[a,b]\) 的情况(此时先手必胜),否则把 \([a,b]\) 设为不可到达的情况,因为按照最优策略来说没有人会把石子数操作到 \([a,b]\),除非没有其他可以操作的堆,这时就相当于不能行动时游戏结束了。那么它就变成了一个ICG,可以打表找出SG的规律。

ZROI1745 序列

\(f[x][i]\):填满i个数,第一个是x,然后dp优化。

ZROI1745 树

直接边分治+莫比乌斯反演是\(qnd(n)+nd(n)\log n\)的,出题人卡了波常数不能过,有几个小技巧:

  1. 注意到 \(\mu=0\) 没有贡献,我们可以把因数个数优化到\(2^c\)\(c\) 是质因子个数
  2. 考虑询问的时候换一种统计答案的方式。注意到修改的边一定有边权,那么gcd一定只有\(2^c\)种,可以FWT。

于是最后复杂度是\(n2^c\log n+q(n+c2^c)\)

posted @ 2021-03-22 07:35  lcyfrog  阅读(65)  评论(0编辑  收藏  举报