CF1867C Salyg1n and the MEX Game

CF1867C Salyg1n and the MEX Game

简单博弈论题。


设给出序列的 \(\text{mex}\)\(x\),那么 Alice 第一次操作时加入 \(x\) 一定是最优的。此时显然有 \(\text{mex(s)} \ge x\)

因为如果加入的数 \(y<x\),此时数列中有不小于 \(2\)\(y\)。如果 Bob 删掉了一个数,那么 Alice 可以将这个数重新加入以抵消 Bob 的操作,对数列的 \(\text{mex}\) 没有影响。因此第一次加入 \(y<x\) 不会使数列的 \(\text{mex}\) 变大,显然是不优的。

而如果加入的数 \(y>x\),由于 \(x\) 没有在 \(s\) 中出现,所以 \(\text{mex(s)}\) 仍然是 \(x\),相当于进行无效操作。因此第一次加入 \(y>x\) 也是不优的。

对于之后的操作,Alice 可以将 Bob 上次删除的数重新加入回来,以抵消 Bob 的操作,从而维持最终的 \(\text{mex}\) 不小于原序列的 \(\text{mex}\)

因此排一遍序求 \(\text{mex}\) 即可,时间复杂度 \(\mathcal{O}(n \log n)\)

posted @ 2023-10-15 16:54  Irotan  阅读(10)  评论(0编辑  收藏  举报