2020-2021:teams:farmer_john:jjleo:codeforces_round_649_div._2_virtual_participation
这是本文档旧的修订版!
rank:38
(竟然AK了,虽然是VP)
A
B
C
题意:给出序列$a_i$,保证$a_i \le a_{i+1}$,要求构造一个序列$b_i$,使得$MEX(a_1,a_2,\ldots,a_i)=b_i$,要求$0 \le b_i \le 10^6$;或判断无解。
D
E
题解:我们只要获得$0$的位置就可以通过$n-1$次询问获得剩下每个位置的数,因此我们要在$2222$次获取到$0$的位置。首先我们有两个比较显然的引理:1.如果$a|b>a|c$,那么$b \ne 0$;2.如果$b \ne c, a|b=a|c$,那么$a \ne 0$。因此我们可以从第一个位置开始,假设某个位置对应的值$a$是$0$,然后以此询问它和后面每个值的$OR$,同时维护$a|b$最小值所在的位置。如果没有出现相等的值,那么我们每次可以排除一个不是$0$的值;如果出现相等的值,那么原本那个位置就不是$0$,只有可能$a|b$最小值所在的位置是最小值,因此以这个位置为$a$继续往下扫即可。
2020-2021/teams/farmer_john/jjleo/codeforces_round_649_div._2_virtual_participation.1592580007.txt.gz · 最后更改: 2020/06/19 23:20 由 jjleo