zoukankan      html  css  js  c++  java
  • hdu1556:Color the ball(差分)

    http://acm.hdu.edu.cn/showproblem.php?pid=1556

    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

    解题思路:

    差分裸题

    #include <stdio.h>
    #include <string.h>
    #define N 100200
    int s[N];
    int main()
    {
    	int n, i, a, b;
    	while(scanf("%d", &n), n!=0)
    	{
    		memset(s, 0, sizeof(s));
    		for(i=1; i<=n; i++)
    		{
    			scanf("%d%d", &a, &b);
    			s[a]++;
    			s[b+1]--;
    		}
    		for(i=1; i<n; i++)
    		{
    			s[i]+=s[i-1];
    			printf("%d ", s[i]);
    		}
    		printf("%d
    ", s[n]+s[n-1]);
    	}
    	return 0;
    }
  • 相关阅读:
    上经 -- 乾【卦一】乾为天(三)
    上经 -- 乾【卦一】乾为天(一)
    8. Shell 文件包含
    7. Shell 函数
    6. Shell 流程控制
    5. test命令
    4. printf 命令
    3. Shell 基本运算符
    2. Shell 传递参数
    shell介绍
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/11852632.html
Copyright © 2011-2022 走看看