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 全村最好的嘤嘤刀(线段树 树状数组)