这个是一个简单题,不过因为想到比标程时间复杂度更低的方法就尝试了一下. 思路:虽然加点是三维数点,但是我们要求的是半径的大小,这样的话,就可以转变为一维的问题. 标程的解法是,用树状数组维护,然后二分答案,这样的话,时间复杂度就是O(n*logn*logn). 但是,可以建立权值线段树,在树上跑的时候,就可以二分出答案了. 如果左节点的个数不够的话,那么肯定要跑到右节点,这样不断二分,最终的边界就是我们要求的答案了,复杂度为 O(nlogn). 之所以能想到是因为之前有过类似题 ——> 传送门.…