HDU 6621"K-th Closest Distance"(二分+主席树)
•题意
有 $m$ 次询问,每次询问求 $n$ 个数中, $[L,R]$ 区间距 $p$ 第 $k$ 近的数与 $p$ 差值的绝对值;
•题解
二分答案,假设当前二分的答案为 $x$,那么如何判断 $x$ 是否可以呢?
只需判断 $[L,R]$ 区间值在 $[p-x,p+x]$ 的数的个数 $sum$ 是否大于等于 k 即可;
如果 $sum \geq k$,那么,x 大了,需要减小范围,反之,需要增大范围;
如何快速求解 $[L,R]$ 区间值在 $[p-x,p+x]$ 的数的个数呢?
这就是主席树的板板题了;
时间见复杂度为 $O(m\cdot log(10^6)\cdot log(10^6))$,而本题给了 $15s$,完全可以过;
•Code