K-th Closest Distance(主席树+二分)
题面
题意:
一个长度为$n$的数组,有$m$次查询,对于每次查询,查询$[l,r]$内距离$p$第$k$近的距离。强制在线。
思路
考虑二分距离$dis$,对于每次的$dis$,判断在$[l,r]$内在区间$[p-dis,p+dis]$内的数是否超过了$k$个,该操作可以利用主席树来实现,复杂度$O(n \cdot log(n)^2$。
代码:
1 |
|
一个长度为$n$的数组,有$m$次查询,对于每次查询,查询$[l,r]$内距离$p$第$k$近的距离。强制在线。
考虑二分距离$dis$,对于每次的$dis$,判断在$[l,r]$内在区间$[p-dis,p+dis]$内的数是否超过了$k$个,该操作可以利用主席树来实现,复杂度$O(n \cdot log(n)^2$。
1 | #include<bits/stdc++.h> |