1 #include2 #include 3 #include 4 #include 5 #include 6 #define M 2000009 7 #define inf 1000000000 8 using namespace std; 9 struct A 10 { 11 int mx[2],mn[2],d[2],l,r; 12 }a[M],b; 13 int n,N,m,root,ans; 14 bool cmp(A a1,A a2) 15 { 16 return a1.d[N] >1; 33 N=now; 34 nth_element(a+l1,a+mid,a+r1+1,cmp); 35 for(int i=0;i<2;i++) 36 a[mid].mn[i]=a[mid].mx[i]=a[mid].d[i]; 37 if(l1 mid) 42 a[mid].r=jian(mid+1,r1,now^1); 43 else 44 a[mid].r=0; 45 updata(mid); 46 return mid; 47 } 48 void jia(int x,int now,A b) 49 { 50 if(b.d[now]
KDtree