题意:散点中距离最近的两点距离除以2,给定n个点的坐标。
思路:暴力复杂度O(n2)不可行,分治处理,每次从中间分,然后求左边点的最小距离,右边点的最小距离,然后算出来一个点在左侧一个点在右侧情况的最小距离,求最小。
处理过程中,判断两侧的最小距离d = min(左, 右),然后判断中间点的过程时,剪掉那些水平距离到mid大于d的点,然后讲这些候选点按照y排序,剪掉点对之间y距大于d的点,再去求可能的最小值。
有点类似于归并的过程。
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<bitset>
#include<algorithm>
#include<map>
#include<set>
#i