日记 2023.5.20:2023 syzx 春季训练 9

A

差分,操作分为:合并、删极左/极右

先手一定会删。

考虑先手删完之后,最中间的点不可能被删。

考虑加入后手,如果先手删左,我就把中间的和右边合并;否则反之。那么这样子不会使得先手能拿到的状态更优。

那么仔细思考一下,最终答案是 \(\max_i\{a_i+a_{i+n/2}\}\),当然要排序。

B

状态数极少。\(dp(x,y,z)\) 表示这个状态必胜(1)或必败(0)。

如果它的所有转移都是必胜,你必败;如果有一个必败,你必胜。

所以可以有一个 \(O(300^4)\) 的做法。

bitset/前缀和。

C

模完一个小的数,再模一个大的数,毫无意义。

所以只考虑前缀最小值。

D

meet in middle.

trie/hash.

或者:对每次考试赋一个随机权值,考虑知道选什么的时候,按列考虑,如果对了就拿到那一场考试的分,最终对比和右边是否相等。最后枚举答案即可。

E

\(k^v\bmod (k+1)\in\{1,k\}\)

当对手取一,我就取 \(k\);当对手取 \(k\),我就取 \(1\);还有一种轮流拿一的。

即,循环节为 \(k+1\)

F

如果用第一种操作,那么 \(\log\) 次就能收敛。

如果它导向一个必败态,令 \(B=b-b\%a\),那么我们会试图去拿一些 \(a^k\) 去减。同时除以 \(a\),回到了 E。

G

每个游戏是单独的。考虑算出每个游戏的 sg 值之后异或,等于零就必败。

考虑打表 sg。

发现真的分形。

H

分解质因数,分解成独立的游戏。

预处理 \(2^{20}\) 以内的 sg,往上的转移极少(考虑最高位变化,最多减 \(9\) 就能到达预处理的地方)

I

\(p^k\) 之间有影响,把它们化为独立的游戏。

直接暴力求出 sg。其实很少。

J

切完之后的游戏是独立的。

旋转一下,暴力求 sg。

K

\(t_i+1\) 等于 \([i,n]\) 的前缀最小值数量。

若已知 \([i+1,n]\) 的方案数,考虑放入 \(i\)\([i,n]\) 的前缀最小值一定在 \([i+1,n]\) 的前缀最小值与 \(i\) 当中。(注意这里是动态的,放进去之后还要交换)

所以 \([*]=\prod\binom{c_{i+1}+1}{c_i}\)

posted @ 2023-11-06 18:28  caijianhong  阅读(3)  评论(0编辑  收藏  举报