12.27 cf div3 解题报告

wxy.wxy,带上分拉,全场做了个无脑小白

比赛场地

A:

T1,跟着模拟就好了

B:

sort一遍之后
去除的数一定是a[1]或者a[n]
比较去除谁小就输出谁

C:

他的二进制有多少个1
如果>k说明无解
他的二进制位都放优先队列里
每次取出top,分成两半,再放回去,如果取出1或者为空,无解
直到size==k
输出就好了
wrong 1 re 3 : 数组开小了

D:

假设为a,b,c
则a的两个数一定包含一个b
b中一定包含一个c
所以从1开始挨着判断就行

E:

修改一个括号,使之合法的位置的个数
\('('\)记为 \(+1\),\(')'\)记为 \(-1\),
求出前缀和,前缀最小值,后缀最小值
如果括号合法,则一定是前缀和全部大于等于\(0\),且最后\(sum[n]==0\)
相似的,sum[n]==2或者-2则还有机会合法,其他直接0
然后利用前缀最小值和后缀最小值O(n)枚举即可

05-11 19:55