zoukankan      html  css  js  c++  java
  • shuzhuangshuzu

    #include<stdio.h>
    #include<string.h>
    int l[100001];
    int n;
    int lowbit(int x)
    {
        return (x)&(-x);
    }
    void update(int pos,int x)
    {
        while(pos<=n)
        {
            l[pos]+=x;
      pos+=lowbit(pos);
        }
    }
    int getsum(int x)
    {
        int sum=0;
        while(x>0)
        {
            sum+=l[x];
            x-=lowbit(x);
        }
        return sum;
    }
    int main()
    {
        int i,p,q;
        while(scanf("%d",&n),n)
       {
      memset(l,0,sizeof(l));
            for(i=1;i<=n;i++)
            {
                scanf("%d%d",&p,&q);
                update(p,1);
               update(q+1,-1);
            }
            for(i=1;i<=n;i++)
      {
       if(i==n)
        printf("%d",getsum(i));
       else
       printf("%d ",getsum(i));
       
      }
      printf(" ");
        }
      return 0;
    }

    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
    
  • 相关阅读:
    Nginx 配置实例-动静分离
    nginx-轮询、权重、ip_hash 、fair模式
    nginx-负载均衡
    nginx 常用的命令和配置文件
    Nginx 的简介
    阿里云--安装nginx AND访问超时
    阿里云-docker安装redis AND(docker基本操作命令)
    阿里云-docker安装mysql
    阅读金字塔原理笔记1
    Springboot-整合redis
  • 原文地址:https://www.cnblogs.com/luzhongshan/p/3900747.html
Copyright © 2011-2022 走看看