zoukankan      html  css  js  c++  java
  • POJ 1195 Mobile phones【 二维树状数组 】

    题意:基础的二维数组,注意 0 + lowbit(0)会陷入无限循环-----

    之前做一道一维的一直tle,就是因为这个--------------------------

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring> 
     4 #include <cmath> 
     5 #include<stack>
     6 #include<vector>
     7 #include<map> 
     8 #include<set>
     9 #include<queue> 
    10 #include<algorithm>  
    11 using namespace std;
    12 
    13 typedef long long LL;
    14 const int INF = (1<<30)-1;
    15 const int mod=1000000007;
    16 const int maxn=1000005;
    17 
    18 int c[1055][1055];
    19 int n;
    20 
    21 int lowbit(int x){ return x & (-x);}
    22 
    23 int sum(int x,int y){
    24     int ret = 0,y1;
    25     while(x > 0){
    26         y1 = y;
    27         while( y1 > 0){
    28             ret += c[x][y1];y1 -= lowbit(y1);
    29         }
    30         x-=lowbit(x);
    31     }
    32     return ret;
    33 }
    34 
    35 void add(int x,int y,int d){
    36     int y1;
    37     while(x <= n){
    38         y1 = y;
    39         while(y1 <= n){
    40             c[x][y1] += d; y1 += lowbit(y1);
    41         }
    42         x += lowbit(x);
    43     }
    44 }
    45 
    46 int main(){
    47     int cmd;
    48     while(scanf("%d %d",&cmd,&n) != EOF){
    49         memset(c,0,sizeof(c));
    50         while(scanf("%d",&cmd) != EOF && cmd != 3){
    51             if(cmd == 1){
    52                 int x,y,d;
    53                 scanf("%d %d %d",&x,&y,&d);x++;y++;
    54                 add(x,y,d);
    55             }
    56             else{
    57                 int x,y,xx,yy;
    58                 int ret = 0;
    59                 scanf("%d %d %d %d",&x,&y,&xx,&yy);
    60                 x++;y++;xx++;yy++;
    61                 ret = sum(xx,yy) - sum(x-1,yy) - sum(xx,y-1) + sum(x-1,y-1);
    62                 printf("%d
    ",ret);
    63             }
    64         }
    65     }
    66     return 0;
    67 }
    View Code

    话说好几天没有写代码了的说啊----

    加油↖(^ω^)↗

    goooooooooooooooooo----

  • 相关阅读:
    104每日博客
    924每日博客
    921每日博客
    928每日博客
    929每日博客
    930每日博客
    927每日博客
    大志非才不就,大才非学不成—我的博文资源汇总
    vue 项目搭建
    Vant 使用记录
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4604731.html
Copyright © 2011-2022 走看看