博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu-1541 Stars-----> 树状数组
阅读量:4286 次
发布时间:2019-05-27

本文共 774 字,大约阅读时间需要 2 分钟。

此题由于有可能出现坐标为 0 的点,而我们用的树状数组则从1开始,所以做题的时候要注意

#include
#include
#define M 32002int a[M];int c[M];int n;int lowbit(int x){ return x&(-x);}void add(int pos,int num){ while(pos <= M - 1) { a[pos] += num; pos += lowbit(pos); }}int get_sum(int pos){ int res = 0; while(pos > 0) { res += a[pos]; pos -= lowbit(pos); } return res;}int main(){ int x,y; while(scanf("%d",&n)!=EOF) { memset(a,0,sizeof(a)); memset(c,0,sizeof(c)); int ans; for(int i = 1;i <= n;i++) { scanf("%d%d",&x,&y); ans = get_sum(x+1); c[ans] ++; add(x+1,1); } for(int i = 0;i < n;i++) { printf("%d\n",c[i]); } }}

转载地址:http://oysgi.baihongyu.com/

你可能感兴趣的文章