记录编号 582504 评测结果 AAAAAAAAAA
题目名称 [POJ 2352]数星星 最终得分 100
用户昵称 Gravatar超人 是否通过 通过
代码语言 C++ 运行时间 0.217 s
提交时间 2023-09-15 21:44:51 内存使用 3.65 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int a[32005],s[32005];
int n,m=32005;
struct od
{
    int x,y;
}p[15005];
int lowbit(int x)
{
    return x&(-x);
}
void up(int x,int y)
{
    while(x<=m)
    {
        a[x]+=y;
        x+=lowbit(x);
    }
}
int sum(int x)
{
    int w=0;
    while(x>0)
    {
        w+=a[x];
        x-=lowbit(x);
    }
    return w;
}
int main()
{
    freopen("starcount.in","r",stdin);
    freopen("starcount.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>p[i].x>>p[i].y;
    for(int i=1;i<=n;i++)
    {
        int u=p[i].x+1;
        int v=sum(u);
        up(u,1);
        s[v]++;
    }
    for(int i=0;i<n;i++) cout<<s[i]<<endl;
    return 0;
}