题意:给出每个star的坐标,求出在它左下方这个区域里有多个星星
思路:用树状数组做 简洁明了。。。。
//420K
157MS
#include <stdio.h>
#include <string.h>
#define lowbit(x) (x&(-x))
#define M 32010
int ar[M],n;
void add (int u,int w)
{
while (u < M)
{
ar[u] += w;
u += lowbit(u);
}
}
int sum (int u)
{
int ans = 0;
while (u > 0)
{
ans += ar[u];
u -= lowbit(u);
}
return ans;
}
int main ()
{
int n,i,x,y;
int lev[M];
while (~scanf ("%d",&n))
{
memset (ar,0,sizeof(ar));
for (i = 0;i < n; i ++)
{
scanf ("%d %d",&x,&y);
lev[sum(x+1)] ++;
add(x+1,1);
}
for (i = 0;i < n;i ++)
printf ("%d\n",lev[i]);
}
return 0;
}
思路:用树状数组做 简洁明了。。。。
//420K
#include <stdio.h>
#include <string.h>
#define lowbit(x) (x&(-x))
#define M 32010
int ar[M],n;
void add (int u,int w)
{
}
int sum (int u)
{
}
int main ()
{
}