AcWing 1265. 数星星
原题链接
中等
作者:
suchong
,
2024-03-28 19:27:58
,
所有人可见
,
阅读 1
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N = 32010;
int n;
int tr[N],level[N];
int lowbit(int x)
{
return x & -x;
}
void add(int x)
{
for(int i=x; i<N; i+=lowbit(i)) tr[i]++;
}
int sum(int x)
{
int ans=0;
for(int i=x; i; i-=lowbit(i)) ans+=tr[i];
return ans;
}
int main()
{
scanf("%d",&n);
for(int i=0; i<n; i++)
{
int x,y;
scanf("%d%d",&x,&y);
x++;
level[sum(x)]++;
add(x);
}
for(int i=0; i<n; i++) printf("%d\n",level[i]);
return 0;
}