专栏文章

比赛:CF2130 Div.2

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miokruux
此快照首次捕获于
2025/12/02 20:49
3 个月前
此快照最后确认于
2025/12/02 20:49
3 个月前
查看原文

CF2130 Div.2

A

把所有 00 全部用 mex\mathrm{mex},剩下全部用 sum\mathrm{sum} 即可。

B

分讨题。
首先每个格子会走至少一遍,那么先累加上,记为 xx。判掉 x>sx>s 的情况。如果有 01 的结构,Alice 可以重复增加 11。如果没有,那么一定同时有 0212 的结构,02 可以同时增加 2212 可以增加 33 并改变奇偶性。分讨即可。

C

发现如果图中存在环,那么断掉任意一条边,f(S)f(S) 不变,g(S)g(S) 变小,答案变大。因此只需要求图上任意一个生成森林即可。

D

n=2nnn=2n-n,因此 nn 是确定不变的。
那么按照 pip_i 从大到小往序列里填数。发现对于 i<ji<j2ni>2nj>j2n-i>2n-j>ji<j<2nji<j<2n-j,因此不管已经填过的数如何选择,都不会影响后续填数,因为后续仍然可以随意控制它们的相对大小。贪心即可。

E1

想到二分之前想了一段时间错误的方向,但是发现二分之后很快就想到正解了。
考虑这个 550550 次,合理猜测是每次询问确定两个位置,然后还有 <50<50 次额外操作。(一开始也感觉这个 5050 很像 log\log)。
题目保证一定存在至少一个 (),因此一开始直接询问 f([1,n])f([1,n]),若答案为 00,则说明序列一定为 )...)(...(,二分找到分界点即可。
否则,二分确定第一个前缀答案为 00 的位置,即找到最小的 pp,使得 f([1,p])=0f([1,p])=0,那么 [1,p][1,p] 一定形如 )...)(...(,因此也是二分确定 [1,p][1,p] 的答案。
然后 p+1p+1 一定是 ),于是我们从 p+2p+2 开始两个两个往后确定。
xx 初始为 p+1p+1aa 括号序列,y=x+1y=x+1z=x+2z=x+2
  • ax=a_x= ),询问 k=f(z,x,x,z,y,z,y,z,y)k=f(z,x,x,z,y,z,y,z,y)
    • k=0k=0,则 ay=a_y= )az=a_z= )
    • k=7k=7,则 ay=a_y= )az=a_z= (
    • k=1k=1,则 ay=a_y= (az=a_z= (
    • k=3k=3,则 ay=a_y= (az=a_z= )
  • ax=a_x= (,询问 k=f(z,y,z,y,z,y,x,x,z)k=f(z,y,z,y,z,y,x,x,z)
    • k=1k=1,则 ay=a_y= )az=a_z= )
    • k=6k=6,则 ay=a_y= )az=a_z= (
    • k=0k=0,则 ay=a_y= (az=a_z= (
    • k=4k=4,则 ay=a_y= (az=a_z= )
  • x=x+2x=x+2,不断向后扩展。
询问次数为:2logn+n22\log n+\frac{n}{2}

评论

0 条评论,欢迎与作者交流。

正在加载评论...