Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<math.h>#include<stdio.h>#define MAXN 1050000struct node{int x,y;}tree[MAXN];int n,m,ans;int x3,y3,x4,y4;void build(int x,int y,int k,int n){tree[k].x=x,tree[k].y=y;if(n==1) return;if(n==2){build(x+2,y+2,2*k+1,n-1); ///rightbuild(x+2,y-2,2*k,n-1); ///left}else{build(x+3*pow(2,n-3),y+3*pow(2,n-3),2*k+1,n-1); ///rightbuild(x+3*pow(2,n-3),y-3*pow(2,n-3),2*k,n-1); ///left}}void Search(int k){if(tree[k].x>x4) return ;if(k>((1<<n)-1)) return ;if(tree[k].x>=x3&&tree[k].x<=x4&&tree[k].y>=y3&&tree[k].y<=y4) ans++;