hdu 1556 Color the ball
来源:互联网 发布:x免费域名 编辑:程序博客网 时间:2024/05/22 17:08
Color the ball
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9601 Accepted Submission(s): 4943
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,输入结束。
当N = 0,输入结束。
Output
每个测试实例输出一行,包括N个整数,第I个数代表第I个气球总共被涂色的次数。
Sample Input
31 12 23 331 11 21 30
Sample Output
1 1 13 2 1
Author
8600
区间更新相同的值时,如[x,y],在y之前(包括y)每个数加1,在x之前(不包括x)每个数减1,这样就是区间[x,y]的更新。
注意:这里的更新add是从后往前更新
/*也可以从前往后,则将代码改为
void add(int x,int d){ while( x <= N ){ c[x] += d; x += lowbit(x); }}int sum(int x ){ int ans = 0 ; while(x ){ ans += c[x]; x-=lowbit(x); } return ans ;}并且下面改为
add(x,1);add(y+1,-1);*/
#include <map>#include <set>#include <stack>#include <queue>#include <cmath>#include <vector>#include <cstdio>#include <cctype>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>using namespace std;#define INF 0x3f3f3f3f#define inf -0x3f3f3f3f#define mem0(a) memset(a,0,sizeof(a))#define mem1(a) memset(a,-1,sizeof(a))#define FOPENIN(IN) freopen(IN, "r", stdin)#define FOPENOUT(OUT) freopen(OUT, "w", stdout)#define maxn 100000+10int a[maxn],c[maxn],N;int lowbit(int x) { return x&(-x);}void add(int x,int d){ while( x > 0 ){ c[x] += d; x -= lowbit(x); }}int sum(int x ){ int ans = 0 ; while(x <= N){ ans += c[x]; x+=lowbit(x); } return ans ;}int main(){ while(scanf("%d",&N),N){ int x,y; mem0(c); for(int i = 0 ; i < N ; i++){ scanf("%d %d",&x,&y); add(y,1); add(x-1,-1); } for(int i = 1 ; i <= N; i++){ printf("%d%c",sum(i),(i==N)?'\n':' '); } } return 0;}
0 0
- hdu 1556 color the ball
- hdu 1556Color 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
- 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
- 【iOS开发-2】Info.plist文件的初步窥探:如何增减配置以及如何用代码调用里面的值
- Oracle的DMP文件修改版本号
- 10个顶级的CSS UI开源框架
- android客户端和php服务简单交互
- 【zz:Stanford-CV华人教授李飞飞写给她学生的一封信,如何做好研究以及写好PAPER,受益匪浅】
- hdu 1556 Color the ball
- RmiJdbc 实现远程连接access数据库
- 第十六章 16.2.3节练习
- linux内核源码升级方法
- SpringMVC 零基础入门
- Spring的事务管理难点剖析(4):多线程的困惑
- ubuntu 更新软件源
- Java学习随笔
- JS移动li行数据,点击上移下移