题目链接

其实就是二维树状数组模板。

只不过要对每一种颜色开一个二维树状数组。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<string>
 5 #include<cstring>
 6 #include<cmath>
 7 #include<algorithm>
 8 #include<ctime>
 9 #include<queue>
10 #include<stack>
11 #include<map>
12 #define lowbit(x) x&-x
13 using namespace std;
14 int n,m,h[333][333];
15 struct shuzu
16 {
17     int aa[333][333];
18     void add(const int &a,const int &b,const int &x)
19     {
20         for(int i=a;i<=n;i+=lowbit(i))
21             for(int j=b;j<=m;j+=lowbit(j))
22                 aa[i][j]+=x;
23     }
24     int query(const int &a,const int &b)
25     {
26         int ret=0;
27         for(int i=a;i;i-=lowbit(i))
28             for(int j=b;j;j-=lowbit(j))
29                 ret+=aa[i][j];
30         return ret;
31     }
32 }bb[111];
33 int getint()
34 {
35     int ret=0;
36     char ch=getchar();
37     while(ch<'0'||ch>'9')ch=getchar();
38     while(ch>='0'&&ch<='9')ret*=10,ret+=ch-'0',ch=getchar();
39     return ret;
40 }
41 int main()
42 {
43     n=getint(),m=getint();
44     for(int i=1;i<=n;i++)
45         for(int j=1;j<=m;j++)
46         {
47             h[i][j]=getint();
48             bb[h[i][j]].add(i,j,1);
49         }
50     int q;
51     q=getint();
52     for(int i=1;i<=q;i++)
53     {
54         int op,q,w,e,r,t;
55         op=getint();
56         if(op==1)
57         {
58             q=getint(),w=getint(),e=getint();
59             bb[h[q][w]].add(q,w,-1);
60             h[q][w]=e;
61             bb[e].add(q,w,1);
62         }
63         else
64         {
65             q=getint(),e=getint(),w=getint(),r=getint(),t=getint();
66             int ret=bb[t].query(e,r)-bb[t].query(q-1,r)-bb[t].query(e,w-1)+bb[t].query(q-1,w-1);
67             printf("%d\n",ret);
68         }
69     }
70     return 0;
71 }

转载于:https://www.cnblogs.com/HugeGun/p/5151045.html

bzoj1452 [JSOI2009]Count相关推荐

  1. BZOJ1452 [JSOI2009]Count 树状数组

    欢迎访问~原文出处--博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1452 题意概括 一个n*m的矩阵,现在有2种操作: 修改某一个位置的值 求一个子矩阵某值的出现次数 ...

  2. bzoj1452: [JSOI2009]Count

    2维bit.每个颜色建一个. #include<cstdio> #include<algorithm> #include<cstring> using namesp ...

  3. 【BZOJ1452】[JSOI2009]Count(树状数组)

    [BZOJ1452][JSOI2009]Count(树状数组) 题面 BZOJ 洛谷 题解 数据范围这么小?不是对于每个颜色开一个什么东西记一下就好了吗. 然而我不会二维树状数组? 不存在的,凭借多年 ...

  4. 二维树状数组(bzoj 1452: [JSOI2009]Count)

    1452: [JSOI2009]Count Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2496  Solved: 1451 [Submit][St ...

  5. [bzoj 1452] [JSOI2009]Count

    [bzoj 1452] [JSOI2009]Count Description Input Output Sample Input Sample Output 1 2 HINT 二维树状数组裸题,建立 ...

  6. [BZOJ1452/Luogu4054][JSOI2009]Count计数问题

    题目链接: BZOJ1452 Luogu4054 二维树状数组题(或许可以毒瘤树套树) 注意到值域范围为\(100\),对每个数开一个二维树状数组,在对应的树状数组上修改查询即可. 时间复杂度 \(O ...

  7. 二维树状数组 BZOJ 1452 [JSOI2009]Count

    题目链接 裸二维树状数组 #include <bits/stdc++.h>const int N = 305; struct BIT_2D {int c[105][N][N], n, m; ...

  8. BZOJ 1452 [JSOI2009] Count

    这道题好像有点简单的样子... absi找题目好厉害啊...确实是一道比较裸的2dBIT啊. 水掉吧. 附:2dBIT怎么做: 2dBIT就是BIT套BIT啦. 所以修改loop(x+=lowbit( ...

  9. 2019.4.summary

    2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...

  10. BZOJ刷题记录---提高组难度

    BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...

最新文章

  1. java中ajax概念_Java之AJAX概念和实现方式
  2. Android_(消息提示)多种使用Toast的消息提示
  3. python读csv-python读写csv文件
  4. linux无显卡运行程序,Ubuntu中在应用程序菜单添加未显示的应用程序启动器
  5. gbdt和xgboost区别
  6. 金陵科技学院计算机系男女比,眼已亮瞎:719所全国高校男女比例排名
  7. 拖链电缆 机器人电缆_干货!拖链电缆用途及安装注意事项
  8. “物联网”“云计算” IT业新概念风起云涌
  9. 汉字转拼音,一二级词库,不支持多音字
  10. 5导出word_重磅更新 !支持题库导出为word
  11. C++_-数据类型-字符型_转义字符_字符串类型--C++语言工作笔记012
  12. 手把手教你用 Python 绘制酷炫的桑基图!
  13. 江苏高考成绩什么时候可以查询2021,2021年江苏高考成绩什么时候公布出来,几月几号几点钟可以查询...
  14. 前大灯是近光灯还是远光灯_夜间上高速使用近光灯?不会开车就别开,否则12分都不够扣!...
  15. 史上最全的C++面试宝典(合集)
  16. Cavium OCTEON网络处理器的安全性能
  17. 全屏网页时钟屏保flipclock-beautify,简约风格,电脑手机均支持访问
  18. 如何增加Win2003, Win2008下的文件类型下载
  19. 洛谷 [樱花] 题解
  20. 人机对话是怎么产生的?

热门文章

  1. 张东:大数据时代挑战与解决之道
  2. 教你如何用双SATA硬盘组建RAID系统
  3. mysql获取某个表的所有字段名
  4. 解决问题--mysql可以远程通过IP访问,不能通过localhost与127.0.0.1访问
  5. 别乱提交代码了,你必须知道的 Git 分支开发规范!
  6. 阿里巴巴:万亿级数据洪峰下的分布式消息引擎
  7. 程序员在网吧办公是什么感觉?网友:在被打的边缘疯狂试探!
  8. 陈赫入场,抖音背后的决心!
  9. 史上最详细的Studio教程二来啦
  10. 【精选】Java高频面试题278道附答案,通关中大型互联网企业工程师必备