HDU 1556 Color the ball (树状数组)
2016-11-07 18:13
363 查看
Color the ball
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17610 Accepted Submission(s): 8814
Problem Description
N个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?
Input
每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包括2个整数a b(1 <= a <= b <= N)。
当N = 0,输入结束。
Output
每个测试实例输出一行,包括N个整数,第I个数代表第I个气球总共被涂色的次数。
Sample Input
3
1 1
2 2
3 3
3
1 1
1 2
1 3
0
Sample Output
1 1 1
3 2 1
Author
8600
Source
HDU 2006-12 Programming Contest
这个蛮有意思的是利用树状数组更新区间,查询点。
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17610 Accepted Submission(s): 8814
Problem Description
N个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?
Input
每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包括2个整数a b(1 <= a <= b <= N)。
当N = 0,输入结束。
Output
每个测试实例输出一行,包括N个整数,第I个数代表第I个气球总共被涂色的次数。
Sample Input
3
1 1
2 2
3 3
3
1 1
1 2
1 3
0
Sample Output
1 1 1
3 2 1
Author
8600
Source
HDU 2006-12 Programming Contest
这个蛮有意思的是利用树状数组更新区间,查询点。
#include "cstring" #include "cstdio" #include "iostream" #include "string.h" #define MAX 100005 using namespace std; int d[MAX*2]; int N; int lowbit(int x) { return x&(-x); } void update(int x,int num) { while(x>0) { d[x]+=num; x-=lowbit(x); } } int getSum(int x) { int s=0; while(x<=N+1) { s+=d[x]; x+=lowbit(x); } return s; } int main() { while(scanf("%d",&N)) { if(N==0) break; int a,b; memset(d,0,sizeof(d)); for(int i=1;i<=N;i++) { scanf("%d%d",&a,&b); update(a,-1); update(b+1,1); } printf("%d",getSum(2)); for(int i=2;i<=N;i++) { printf(" %d",getSum(i+1)); } printf("\n"); } }
相关文章推荐
- hdu 1556 Color the ball(树状数组)
- hdu 1556 Color the ball(树状数组)
- Hdu--1556--Color the ball(树状数组最简单运用)
- HDU 1556 Color the ball (简单树状数组)
- HDU 1556 Color the ball 树状数组 题解
- HDU 1556 Color the the ball(树状数组)
- HDU 1556-Color the ball(树状数组-区间修改 单点查询)
- HDU 1556 Color the ball(树状数组,区间修改,单点统计)
- HDU 1556--Color the ball【树状数组】
- HDU 1556 Color the ball (一维树状数组,区间更新,单点查询)
- Color the ball - HDU 1556 简单树状数组
- hdu 1556 Color the ball(树状数组)
- 树状数组-HDU-1556-Color the ball
- HDU 1556 Color the ball(树状数组)
- hdu 1556:Color the ball(第二类树状数组 —— 区间更新,点求和)
- hdu-1556 Color the ball(树状数组)
- HDu 1556 Color the ball【线段树&&树状数组】区间更新,单点查询
- hdu 1556 Color the ball (树状数组解决区间覆盖+单点查询)
- HDU - 1556 Color the ball (一维树状数组 + 区间修改 + 单点求值)
- HDU 1556 Color the ball(树状数组,区间修改,单点统计)