题解 Codeforces Round #652 (Div. 2) (CF1369)
\(A\)
\(n\)是\(4\)的倍数就YES
\(B\)
第一个\(1\)之前所有的\(0\)和最后一个\(0\)之后的所有的\(1\)都删不掉。中间如果有\(10\)就合并成\(0\)即可。
\(C\)
先把前\(k\)大的拿出来做每组最大值,剩下的按照升序依次往每组里面填充即可。注意开long long。
\(D\)
画一下发现左右两边的子树都是上上次的,中间那个子树是上一次的,然后最顶上那\(4\)个只有\(n%3==0\)的时候才会选择,于是\(f_i=f_{i-1}+f_{i-2}+(i \mod 3==0)\),预处理一下。
\(E\)
如果一个人两种菜都吃不到直接判断无解。发现先让只吃得到一盘菜的进去,再让吃了之后菜的种类会尽量变少的人进去是最优的。每次把喜欢吃满足\(a_i>=b_i\)的菜的人扔到答案序列末尾就行了。
\(F\)
手速慢了点(捂脸)只好赛后补……(今晚先鸽着,明早写
upd:规则是固定的,\(s_i,e_i \leq 10^{18}\),想到找规律。发现\(s*2>e,s+1>e\)是必胜状态,然后对于\(e\)是奇数的如果\(s,e\)奇偶性不同就必胜,否则必败。递归一下每次\(e/2\)再计算。