【模板】平面分治(最近点对)-bzoj2458


平面最近点对

O ( n log ⁡ n ) O(n\log n) O(nlogn)时间内求解平面最近点对:

将点按 x x x坐标排序,每次 ( l , m i d ) , ( m i d + 1 , r ) (l,mid),(mid+1,r) (l,mid),(mid+1,r)分治下去求解左右边点集的最近距离,设取 m i n min min后得到的值为 d d d

现在考虑越过中线的点对:
只保留与中线距离 ≤ d \leq d d的点,按 y y y坐标排序(这一步可以在分治的时候归并处理),线性扫一遍,对于每个点只求与它 y y y值差值 ≤ d \leq d d的点之间的距离来更新答案。

这样可以保证对于每个点最多只需要检查 6 6 6个点(抽屉原理)。


平面周长最小三角形

同样分治下去,每层暴力找最小三角形。
popoqqq的题解

你可能感兴趣的:(分治)