POJ 2352 Stars 初学树状数组
2012-07-25 14:20
363 查看
题意:N个星星。给出N个坐标(x,y)。每个星星有一个等级,该星星的等级是x坐标和y坐标都不大于该星的星星数,求出不同等级星星的个数。
思路:用树状数组,每加入一个点,判断(1,x)有多少个点,然后再updata。
第一道树状数组,边A边看模板,太神了~~~
继续继续。。
思路:用树状数组,每加入一个点,判断(1,x)有多少个点,然后再updata。
第一道树状数组,边A边看模板,太神了~~~
#include <iostream> #include <cstdio> #include <algorithm> #include <string> #include <cmath> #include <cstring> #include <queue> #include <set> #include <vector> #include <stack> #include <map> #include <iomanip> #define PI acos(-1.0) #define Max 35000 #define inf 1<<28 using namespace std; int a[Max],zuobiao[Max],n; int lowbit(int x) { return x&-x; } int query(int i) { int s=0; while(i>0) { s+=a[i]; i-=lowbit(i); } return s; } void update(int i,int k) { while(i<=Max) { a[i]+=k; i+=lowbit(i); } } int main() { int m,x,y,t,i; scanf("%d",&n); memset(a,0,sizeof(a)); memset(zuobiao,0,sizeof(zuobiao)); for(i=0; i<n; i++) { scanf("%d %d",&x,&y); zuobiao[query(x+1)]++;//从1开始,所以要+1; update(x+1,1); } for(i=0; i<n; ++i) cout<<zuobiao[i]<<endl; return 0; }
继续继续。。
相关文章推荐
- Stars - POJ 2352 树状数组
- POJ 2352 Stars 树状数组
- POJ 2352 Stars 树状数组
- poj 2352 Stars 树状数组
- poj2352 Stars (第一道树状数组
- POJ 2352-Stars-树状数组
- 【树状数组第一弹】poj 2352——Stars
- POJ 2352 Stars 树状数组
- POJ 2352 Stars 树状数组
- poj 2352 Stars(线段树||树状数组)
- POJ 2352_Stars && POJ-2481 Cows (线段树单点更新+树状数组)
- poj 2352 stars 树状数组
- POJ 2352 Stars | 树状数组
- poj 2352 Stars 树状数组
- POJ 2352 Stars 树状数组
- POJ 2352 stars 树状数组
- POJ2352 Stars 树状数组
- POJ 2352|URAL 1028|Stars|树状数组
- POJ 2352 Stars & UESTC 1584 Washi与Sonochi的约定 排序+树状数组
- POJ 2352 Stars 树状数组