POJ 2352 stars
2014-12-03 23:50
225 查看
树状数组,给的数据已按以Y为主序,x为次序排列,因此只需要按所给顺序,统计其前面有几个x小于等于其本身,该值就是该点的阶数
#include <cstdio> #include <cstring> int c[32005],num[15005]; int lowbit(int x){ return x&(-x); } int getSum(int x){ int ret=0; while(x>0){ ret+=c[x]; x-=lowbit(x); } return ret; } void upDate(int x){ while(x<=32001){ ++c[x]; x+=lowbit(x); } } int main(){ int n,x,y; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d%d",&x,&y); ++num[getSum(++x)]; upDate(x); } for(int i=0;i<n;i++) printf("%d\n",num[i]); return 0; }
相关文章推荐
- POJ 2352 Stars(树状数组)
- POJ_2352_Stars
- 【二维偏序】【树状数组】【权值分块】【分块】poj2352 Stars
- poj 2352 Stars 树状数组or线段树
- POJ 2352 Stars
- POJ2352 Stars
- HDU 1541 & POJ 2352 Stars (树状数组)
- poj 2352 Stars
- poj [2352]线段树 Stars
- POJ 2352 Stars(树状数组||线段树单点更新)
- 【树状数组】尝试 POJ2352-Stars
- poj 2352 Stars
- POJ 2352 Stars【树状数组】
- POJ 2352 Stars
- POJ 2352 Stars 树状数组 与 1195二维树状数组
- poj 2352 Stars (树状数组)
- poj 2352 Stars(树状数组)
- POJ2352 Stars[树状数组]
- POJ 2352 Stars(树状数组)
- POJ2352——树状数组——Stars