hdu-1556 树状数组嘤嘤嘤

Posted guanwen769aaaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu-1556 树状数组嘤嘤嘤相关的知识,希望对你有一定的参考价值。

题目出处 http://acm.hdu.edu.cn/showproblem.php?pid=1556

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

#define MAXN 100048
int c[MAXN];
int n,t;
inline int Lowbit(int x)//求lowbit
{
    return x&(-x);
}
void update(int i,int val)//修改i节点 增加val值
{
    while(i>0)
    {
        c[i]+=val;
        i-=Lowbit(i);
    }
}
int sum(int x)//求sum(n)的和
{
    int sum=0;
    while(x<=n)
    {
        sum+=c[x];
        x+= Lowbit(x);
    }
    return sum;
}
int main()
{
    int a,b;
    while(~scanf("%d",&n)&&n)
    {
        memset(c,0,sizeof(c));
        for(int i=1;i<=n;i++)
        {
            scanf("%d%d",&a,&b);//区间[a,b]
            update(b,1);//先将[1,b] +1
            update(a-1,-1);//再将[1,a-1] -1;
        }
        for(int i=1;i<n;i++)
        {
            cout<<sum(i)<<‘ ‘;
        }
        cout<<sum(n)<<‘
‘;
    }
    return 0;
}

  

以上是关于hdu-1556 树状数组嘤嘤嘤的主要内容,如果未能解决你的问题,请参考以下文章

Luogu 45887 全村最好的嘤嘤刀(线段树 树状数组)

hdu (1556 树状数组)

HDU 1556 树状数组

HDU 1556 线段树或树状数组,插段求点

hdu 1556 Color the ball (扫描线+树状数组)

hdu1556Color the ball——树状数组