以X为坐标 建立一维的树状数组即可 由于X=0.。。超时 所以把x+1
return a.x<b.x;
}
ll low[N];
ll index[N];
void add(int k,int num)
{
while(k<=N)
{
low[k]+=num;
k+=k&-k;
}
}
ll sum(int k)
{
ll res=0;
while(k>0)
{
res+=low[k];
k-=k&-k;
}
return res;
}
int main()
{
int i,j;
while(scanf("%d",&n)!=EOF)
{
MM(low,0);
MM(index,0);
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%d%d",&node[i].x,&node[i].y);
node[i].x++;
add(node[i].x,1);
index[sum(node[i].x)-1]++;
}
for(i=0;i<n;i++)
{
printf("%lld\n",index[i]);
}
}
return 0;
}