回到家的时候已经 9:15 了,所以只能糊 F 了。
以下为赛事思路。
看到要求中位数,不二分的是这个👍,那我是这个👎
二分答案 kkk,看看能不能使 kkk 排名落到 ⌈n+m2⌉\lceil\frac{n+m}{2}\rceil⌈2n+m ⌉ 或以下。
显然操作可以分成四种:
* 选择 Ai≥2kA_i\ge 2kAi ≥2k。这样可以使 kkk 的排名 +1\green{+1}+1。
* 选择 Ai=2k−1A_i=2k-1Ai =2k−1。这样可以使 kkk 的排名 −1-1−1。
* 选择 k≤Ai<2k−1k\le A_i\lt 2k-1k≤Ai <2k−1。这样可以使 kkk 的排名 −2\red{-2}−2。
* 选择 Ai<kA_i\lt kAi <k。这样可以使 kkk 的排名 −1-1−1。
显然最优操作是优先做第 111 种,然后优先做第 2,42,42,4 种,最后再做第 333 种。
赛时用 FHQ-Treap 写了个 O(nlog2Vlogn)O(n\log^2 V\log n)O(nlog2Vlogn) 的糖人玩意。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
所以接下来就很简单了:先求出进行完第 111 种后的情况,然后再求出可以进行第二、四种的次数即可。
O(nlog2V)O(n\log^2 V)O(nlog2V) 很显然。
代码懒得写。