poj 2352 树状数组

来源:互联网 发布:php常用函数有哪几个 编辑:程序博客网 时间:2024/06/14 06:24
#include<iostream>#include<cstdio>#include<string.h>#include<cstring>#include<string>#include<algorithm>using namespace std;const int maxn = 15005;const int maxx = 32050;int ar[maxx], lev[maxn];int n;int lowbit(int x){    return x & (-x);}int sum(int x){    int ret = 0;    while(x > 0){        ret += ar[x];        x -= lowbit(x);    }    return ret;}void add(int x){    while(x < maxx){        ar[x] += 1;        x += lowbit(x);    }}int main(){    int x, y;    while(scanf("%d", &n)!=EOF){        memset(lev, 0, sizeof(lev));        memset(ar, 0, sizeof(ar));        for(int i = 0; i < n; ++i){            scanf("%d%d",&x, &y);            ++x;            lev[sum(x)]++;            add(x);        }        for(int i = 0; i < n; ++i){            printf("%d\n", lev[i]);        }    }    return 0;}
0 0
原创粉丝点击