这题的两个log做法很容易想到,但是我想了很久都每想到怎么优化。
本题难点在于求 acnt≤k+cnt−1a_{cnt}\le k+cnt-1acnt≤k+cnt−1 的分界点,如果二分 cnt 再 check 这样就是两个log了。
但是题解中的“线段树二分”直接将 rrr 作为 acnta_{cnt}acnt 进行比较,很难让人觉得这样复杂度正确。对我而言,我觉得这样更像是KD-Tree查询平面最近点对时的剪枝操作。
题解中都没给出复杂度证明,粉兔直接就说“证不出来”,所以求一个复杂度的证明。