题解 CodeForces div4 压轴题合集
1. Round #640 G - Special Permutation
显然可以构造类似 1,4,2,5,3,6,9,7,10,8,... \texttt{1,4,2,5,3,6,9,7,10,8,...} 1,4,2,5,3,6,9,7,10,8,... 这样的序列循环,然后特判末 5 5 5 至 9 9 9 位。
但是有一种更简单的方法(后来想的,没写代码): 1,3,5,...,n-1,n-4,n,n-2,n-6,n-8,n-10,...,2 \texttt{1,3,5,...,n-1,n-4,n,n-2,n-6,n-8,n-10,...,2} 1,3,5,...,n-1,n-4,n,n-2,n-6,n-8,n-10,...,2
2. Round #784 H - Maximal AND
记录每个二进制位出现过几次,优先填最高位。
3. Round #790 H2 - Maximum Crossings (Hard Version)
每读入一个 a i a_i ai,用树状数组查询 [ a i , n ] [a_i,n] [ai,n] 的总和,并令第 a i a_i ai 位 + 1 +1 +1。
4. Round #799 H - Gambling
首先,题意可以转化为:
求一个区间 [ l , r ] [l,r] [l,r],一个数 a a a,使得 ∑ i = l r [ x i = a ] − ∑ i = l r [ x i ≠ a ] \sum\limits_{i=l}^r[x_i=a]-\sum\limits_{i=l}^r[x_i\neq a] i=l∑r[xi=a]−i=