題意:
給平面上的n個點,求兩點間的最短距離。
分析:
分治法,保存點用vector會tle...
代碼:
//poj 3714 //sep9 #include#include #include using namespace std; const double INF=1e50; struct P { double x,y; int type; }p[240000],b[240000]; bool cmp_x(P a,P b) { return a.x =d) continue; for(int j=0;j =d) break; if(a[i].type==b[yn-1-j].type) continue; d=min(d,sqrt(dx*dx+dy*dy)); } b[yn++]=a[i]; } return d; } int main() { int cases; scanf("%d",&cases); while(cases--){ int i,n; scanf("%d",&n); for(i=0;i