解题说明:
AC代码:
#include<iostream> #include<algorithm> #include<string.h> using namespace std; const int MAXN=1e5+10; int c[MAXN],ans[MAXN],n; int get(int x){ int res=0; for(;x;x-=(x&-x)){ res+=c[x]; } return res; } void modify(int x,int num){ if(x==0){ c[x]+=num; x++; } for(;x<=MAXN;x+=(x&-x)){ c[x]+=num; } } int main(){ ios::sync_with_stdio(false); cin>>n; memset(c,0,sizeof(c)); memset(ans,0,sizeof(ans)); int x,y; for(int i=1;i<=n;i++){ cin>>x>>y; int temp=get(x); ans[temp]++; modify(x,1); } for(int i=0;i<n;i++){ cout<<ans[i]<<endl; } return 0; }