zoukankan      html  css  js  c++  java
  • poj 1195 Mobile phones(二维树状数组)

    二维树状数组用于求子矩阵的和。

    View Code
     1 /*
     2 Author:Zhaofa Fang
     3 Lang:C++
     4 */
     5 #include <cstdio>
     6 #include <cstdlib>
     7 #include <iostream>
     8 #include <cmath>
     9 #include <cstring>
    10 #include <algorithm>
    11 #include <string>
    12 #include <utility>
    13 #include <vector>
    14 #include <queue>
    15 #include <stack>
    16 #include <map>
    17 #include <set>
    18 using namespace std;
    19 typedef long long ll;
    20 #define pii pair<int,int>
    21 #define pb push_back
    22 #define mp make_pair
    23 #define fi first
    24 #define se second
    25 #define lowbit(x) (x&(-x))
    26 #define INF (1<<30)
    27 
    28 const int maxn = 1025;
    29 int c[maxn][maxn];
    30 int n;
    31 void add(int x,int y,int v)
    32 {
    33     for(int i=x;i<=n;i+=lowbit(i))
    34         for(int j=y;j<=n;j+=lowbit(j))
    35             c[i][j] += v;
    36 }
    37 int sum(int x,int y)
    38 {
    39     int res = 0;
    40     for(int i=x;i>0;i-=lowbit(i))
    41         for(int j=y;j>0;j-=lowbit(j))
    42             res += c[i][j];
    43     return res;
    44 }
    45 int main()
    46 {
    47     #ifndef ONLINE_JUDGE
    48     freopen("in","r",stdin);
    49     #endif
    50     int op;
    51     while(~scanf("%d",&op))
    52     {
    53         if(op == 0)
    54         {
    55             scanf("%d",&n);
    56             memset(c,0,sizeof(c));
    57         }
    58         else if(op == 1)
    59         {
    60             int x,y,a;
    61             scanf("%d%d%d",&x,&y,&a);
    62             add(x+1,y+1,a);
    63         }
    64         else if(op == 2)
    65         {
    66             int l,b,r,t;
    67             scanf("%d%d%d%d",&l,&b,&r,&t);
    68             printf("%d\n",sum(r+1,t+1)+sum(l,b)-sum(l,t+1)-sum(r+1,b));
    69         }
    70         else break;
    71     }
    72     return 0;
    73 }
    by Farmer
  • 相关阅读:
    Django 2.1 配sql server 2008R2
    1.内网安全代理技术
    3.frp搭建socks5代理
    2.变量常量和注释
    1.域环境&工作组&局域网探针方案
    4.nps搭建socks5代理
    1.php介绍和安装
    2.内网安全隧道技术
    3.横向smb&wmi明文或hash传递
    5.域横向CobaltStrike&SPN&RDP
  • 原文地址:https://www.cnblogs.com/fzf123/p/2722972.html
Copyright © 2011-2022 走看看