CF2276

· · 题解

写都写了全写吧。

D

若存在孤立点则无解,否则考虑强连通分量的数量,若 \ge 2 则一定是 Many,否则判一下环就可以区分 1,2。

E

考虑维护出每个位置向后的第一个 2,0,5,6,枚举 l 找到不合法的 r 对应的区间,也就是出现了 2025 没有出现 2026,二维差分做区间加等差数列即可。

F

感觉就是个细节不少的分讨题,场切了,但为啥写完这个 F 过了一会给我小号封了,何意味啊。

首先考虑找出排列的置换环,你发现最终 Alice 能赢的条件其实是,每个置换环的颜色必须相同,于是 Bob 希望尽可能让置换环的颜色不同。

考虑 Bob 的最优策略,每次选择 k 个环,每个环只染一个点,这样 Alice 在下次操作必须把 Bob 选的每个环全部染色,否则 Bob 就赢了。

首先特判掉 k=1 的情况,因为这种情况会与后面很多冲突。考虑 k = 1 时只要存在长度 \ge 3 的环则 Alice 必败,否则考虑是否存在 k=2,若存在 k=2 的环,则谁先碰这个环谁就输了,因为对手可以根据需求填成相同/不同的颜色,考虑自环数量的奇偶性即可知道谁先这个环。否则只有自环,Alice 必胜。

对于 k \ne 1,若存在 \ge k+2 的置换环,则 Alice 必败,因为第一回合无法染完这个环,而 Bob 只需要染环上的一个点就赢了。若存在 \ge 2 个长度为 k+1 的环 Alice 同样必败,因为 Bob 可以从这两个环各选一个点,而 Alice 需要进行 2k 次操作才能填好这两个环。

若只有一个长度 k+1 的环,Alice 想赢必须在第一手把所有非自环全部填好,否则 Bob 可以选择这个 k+1 的环和任意一个非自环,Alice 需要至少 k+1 步。

但这个条件还不够,考虑 Alice 第一步填好了所有非自环,此时剩下了一堆自环和一个 k+1 的环,而同样是谁先碰到这个 k+1 的环谁就输了,问题转化成有 cnt 个自环,每人每次可以拿 [1,k] 个,谁拿不了谁就输了。

这是经典的 Nim 博弈,先手把数量变为 k + 1 的倍数,后手就输了,于是 Alice 想赢必须在第一手把所有非自环填好的同时,把自环数量拿到剩余 k+1 的倍数个。

剩余情况场上只剩下 \le k 的环,考虑 Bob 要怎么尽量给 Alice 制造麻烦,一定是尽可能拿长度大的环。考虑一个长度为 len 的环,Bob 可以通过选其中一个点给 Alice 造成 len - 1 的代价,于是 Alice 要尽可能消除这些环。这是一个 01 背包问题,每个物品的价值是 len - 1,花费是 len,我们希望删掉尽可能多的,使得留下的最大的 k 个的 \sum len - 1 不超过 k+1。

Submission。