zoukankan      html  css  js  c++  java
  • POJ 1195 Mobile phones

    题目链接:http://poj.org/problem?id=1195

    二维树状数组的应用

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cstdlib>
     4 
     5 const int MAXN = 1200;
     6 int S;
     7 int C[MAXN][MAXN];
     8 
     9 int lowbit( int x )
    10 {
    11     return x & -x;
    12 }
    13 
    14 void Add( int x, int y, int add )
    15 {
    16     int tpy;
    17     while ( x <= S )
    18     {
    19         tpy = y;
    20         while ( tpy <= S )
    21         {
    22             C[x][tpy] += add;
    23             tpy += lowbit(tpy);
    24         }
    25         x += lowbit(x);
    26     }
    27     return;
    28 }
    29 
    30 int Sum( int x, int y )
    31 {
    32     int ret = 0;
    33     while ( x > 0 )
    34     {
    35         int tpy = y;
    36         while ( tpy > 0 )
    37         {
    38             ret += C[x][tpy];
    39             tpy -= lowbit(tpy);
    40         }
    41         x -= lowbit(x);
    42     }
    43     return ret;
    44 }
    45 
    46 int main()
    47 {
    48     int op, add;
    49     int x1, y1, x2, y2;
    50     while( ~scanf( "%d%d", &op, &S ) )
    51     {
    52         memset( C, 0, sizeof(C) );
    53         while ( scanf( "%d", &op ), op != 3 )
    54         {
    55             if ( op == 1 )
    56             {
    57                 scanf( "%d%d%d", &x1, &y1, &add );
    58                 ++x1, ++y1;
    59                 Add( x1, y1, add );
    60             }
    61             else
    62             {
    63                 scanf( "%d%d%d%d", &x1, &y1, &x2, &y2 );
    64                 ++x1, ++y1;
    65                 ++x2, ++y2;
    66                 printf("%d\n", Sum(x2, y2) - Sum(x1 - 1, y2) - Sum(x2, y1 - 1) + Sum(x1 - 1, y1 - 1) );
    67             }
    68         }
    69     }
    70     return 0;
    71 }
  • 相关阅读:
    C#读取并修改app.congig的实例
    apache:添加cgi模式
    初识golang
    Golang: pprof
    Golang:测试map是否存在
    beego: 获取request参数
    shell:crontab
    初识Iaas,paas
    初识golang
    Go-new和make
  • 原文地址:https://www.cnblogs.com/GBRgbr/p/3022893.html
Copyright © 2011-2022 走看看