poj2352 Stars

时间:2023-03-08 21:19:30
poj2352  Stars

http://poj.org/problem?id=2352

 #include <cstdio>
#include <cstring>
#define maxn 400000
using namespace std; int c[maxn],leve[maxn],a,b,n; int lowbit(int x)
{
return x&(x^(x-));
} void add(int x,int m)
{
while(x<=maxn)
{
c[x]+=m;
x+=lowbit(x);
}
} int sum(int x)
{
int sum1=;
while(x>)
{
sum1+=c[x];
x-=lowbit(x);
}
return sum1;
}
int main()
{
scanf("%d",&n);
memset(c,,sizeof(c));
for(int k=; k<=n; k++)
{
scanf("%d%d",&a,&b);
a++;
int t=sum(a);
leve[t]++;
add(a,);
}
for(int i=; i<n; i++)
{
printf("%d\n",leve[i]);
}
return ;
}