zoukankan      html  css  js  c++  java
  • LOJ P10118 打鼹鼠 题解

    每日一题 day17 打卡

    Analysis

    二维树状数组的单点修改和区间查询,和一维的差不多

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<queue>
     6 #define int long long
     7 #define maxn 4096+10
     8 #define INF 2147483647/2-1
     9 using namespace std;
    10 inline int read()
    11 {
    12     int x=0;
    13     bool f=1;
    14     char c=getchar();
    15     for(; !isdigit(c); c=getchar()) if(c=='-') f=0;
    16     for(; isdigit(c); c=getchar()) x=(x<<3)+(x<<1)+c-'0';
    17     if(f) return x;
    18     return 0-x;
    19 }
    20 inline void write(int x)
    21 {
    22     if(x<0){putchar('-');x=-x;}
    23     if(x>9)write(x/10);
    24     putchar(x%10+'0');
    25 }
    26 int n,m;
    27 int tree[maxn][maxn];
    28 inline int lowbit(int num)
    29 {
    30     return num&-num;
    31 }
    32 inline void build(int sx,int sy,int num)
    33 {
    34     for(int i=sx;i<=n;i+=lowbit(i))
    35         for(int j=sy;j<=m;j+=lowbit(j))
    36             tree[i][j]+=num;
    37 }
    38 inline int ask(int sx,int sy)
    39 {
    40     int ans=0;
    41     for(int i=sx;i>=1;i-=lowbit(i))
    42         for(int j=sy;j>=1;j-=lowbit(j))
    43             ans+=tree[i][j];
    44     return ans;
    45 }
    46 signed main()
    47 {
    48     n=read();m=read();
    49     int in=0;
    50     while(scanf("%d",&in)!=EOF)
    51     {
    52         if(in==1)
    53         {
    54             int x=read(),y=read(),k=read();
    55             build(x,y,k);
    56         }
    57         if(in==2)
    58         {
    59             int a=read(),b=read(),c=read(),d=read();
    60             write(ask(c,d)-ask(a-1,b-1));
    61             printf("
    ");
    62         }
    63     }
    64     return 0;
    65 }

    请各位大佬斧正(反正我不认识斧正是什么意思)

  • 相关阅读:
    关于MapReduce中自定义分区类(四)
    关于MapReduce中自定义分组类(三)
    UiAutomator2.0
    Java_集合框架
    Python爬取指定重量的快递价格
    Java_面向对象
    Java_异常以及处理
    Java_File类
    Java_Scanner和System类
    Java_Runtime&Process&ProcessBuilder
  • 原文地址:https://www.cnblogs.com/handsome-zyc/p/11544736.html
Copyright © 2011-2022 走看看