zoukankan      html  css  js  c++  java
  • BZOJ1452 [JSOI2009] Count

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1452

    Description

    Input

    Output

     树状数组水题,水到不行

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <algorithm>
     4 #include <cstring>
     5 #define rep(i,l,r) for(int i=l; i<=r; i++)
     6 #define clr(x,y) memset(x,y,sizeof(x))
     7 #define travel(x) for(Edge *p=last[x]; p; p=p->pre)
     8 using namespace std;
     9 const int maxn = 310;
    10 inline int read(){
    11     int ans = 0, f = 1;
    12     char c = getchar();
    13     for(; !isdigit(c); c = getchar())
    14     if (c == '-') f = -1;
    15     for(; isdigit(c); c = getchar())
    16     ans = ans * 10 + c - '0';
    17     return ans * f;
    18 }
    19 int n,m,x1,x2,y1,y2,q,f,c,g[maxn][maxn],t[maxn][maxn][110];
    20 void modify(int x,int y,int c,int v){
    21     for(int i = x; i <= n; i += i & (-i))
    22     for(int j = y; j <= m; j += j & (-j))
    23     t[i][j][c] += v;
    24 }
    25 int query(int x,int y,int c){
    26     int ret = 0;
    27     for(int i = x; i; i -= i & (-i))
    28     for(int j = y; j; j -= j & (-j))
    29     ret += t[i][j][c];
    30     return ret;
    31 }
    32 int main(){
    33     n = read(); m = read(); clr(t,0);
    34     rep(i,1,n) rep(j,1,m) g[i][j] = read(), modify(i,j,g[i][j],1);
    35     q = read();
    36     rep(i,1,q){
    37         f = read();
    38         if (f == 1){
    39             x1 = read(); y1 = read(); c = read();
    40             modify(x1,y1,g[x1][y1],-1);
    41             g[x1][y1] = c;
    42             modify(x1,y1,g[x1][y1],1);
    43         }
    44         else{
    45             x1 = read(); x2 = read(); y1 = read(); y2 = read(); c = read();
    46             int ans = query(x2,y2,c) - query(x1-1,y2,c) - query(x2,y1-1,c) + query(x1-1,y1-1,c);
    47             printf("%d
    ",ans);
    48         }
    49     }
    50     return 0;
    51 }
    View Code
  • 相关阅读:
    论二级域名收集的各种姿势
    我喜欢你是寂静的-聂鲁达
    早晨充满-聂鲁达
    KALI Linux更新源
    lodash throttle和debounce
    lodash capitalize 首字母大写
    C# 格式化百分比
    c# PadLeft,PadRight用法
    对象名 XXX 无效。
    lambda 分组后的count
  • 原文地址:https://www.cnblogs.com/jimzeng/p/bzoj1452.html
Copyright © 2011-2022 走看看