zoukankan      html  css  js  c++  java
  • hdu (1556 树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?

    pid=1556

    Color the ball

    Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 9596    Accepted Submission(s): 4939


    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
    题意:如题所看到的~
    思路:典型的树状数组题型。区间更新,单点查询,(从大到小更新,从小到大求和就可以~)
    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <string>
    #include <cstdio>
    #include <cmath>
    const int N=1e5+100;
    using namespace std;
    int c[N],n;
    
    int lowbit(int x)
    {
      return x&(-x);
    }
    
    void update(int x,int d)
    {
      while(x>0)
      {
       c[x]+=d;
       x-=lowbit(x);
      }
    }
    
    int getsum(int x)
    {
      int ans=0;
      while(x<=n)
      {
       ans+=c[x];
       x+=lowbit(x);
      }
      return ans;
    }
    
    int main()
    {
        int a,b;
        while(scanf("%d",&n)!=EOF)
        {
          if(n==0)break;
          memset(c,0,sizeof(c));
          for(int i=0;i<n;i++)
          {
            scanf("%d%d",&a,&b);
            update(b,1);
            update(a-1,-1);
          }
          for(int i=1;i<=n;i++)
          {
            if(i==1)printf("%d",getsum(i));
            else printf(" %d",getsum(i));
          }
          printf("
    ");
        }
        return 0;
    }
    




  • 相关阅读:
    第3章 结束会话端点(EndSession Point)
    第2章 授权端点(Authorize Endpoint)
    第1章 发现端点(Discovery Endpoint)
    欢迎使用IdentityModel文档!- IdentityModel 中文文档(v1.0.0)
    IdentityModel 中文文档(v1.0.0) 目录
    第66章 视频
    第65章 博客帖子
    第64章 学习
    Jenkins Ant 自动编译部署测试环境
    jenkins+jmeter+ant自动化接口测试集成
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6823324.html
Copyright © 2011-2022 走看看