[bzoj 1452] [JSOI2009]Count

Description

Input

Output

Sample Input

Sample Output

1
2

HINT

二维树状数组裸题,建立多个树状数组去维护每一种颜色就可以了.

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;static const int maxm=3e2+10;
static const int maxn=1e2+10;int n,m,k,opt;
int v[maxm][maxm];struct BIT{int tr[maxm][maxm];BIT(){memset(tr,0,sizeof tr);}int lowbit(int x){return x&-x;}int add(int x,int y,int val){for(int i=x;i<=n;i+=lowbit(i))for(int j=y;j<=m;j+=lowbit(j))tr[i][j]+=val;}int Query(int x,int y){int ret=0;for(int i=x;i;i-=lowbit(i))for(int j=y;j;j-=lowbit(j))ret+=tr[i][j];return ret;}int solve(int x1,int y1,int x2,int y2){return Query(x2,y2)-Query(x2,y1-1)-Query(x1-1,y2)+Query(x1-1,y1-1);}}bit[maxn];int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&v[i][j]),bit[v[i][j]].add(i,j,1);scanf("%d",&k);while(k--){int x,y,c,x1,y1,x2,y2;scanf("%d",&opt);if(opt==1){scanf("%d%d%d",&x,&y,&c);bit[v[x][y]].add(x,y,-1);v[x][y]=c;bit[v[x][y]].add(x,y,1);}else{scanf("%d%d%d%d%d",&x1,&x2,&y1,&y2,&c);printf("%d\n",bit[c].solve(x1,y1,x2,y2));}}return 0;
}

传送门

转载于:https://www.cnblogs.com/Exbilar/p/6852436.html

[bzoj 1452] [JSOI2009]Count相关推荐

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

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

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

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

  3. BZOJ 1452 [JSOI2009] Count

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

  4. [BZOJ 1452] Count

    Link: BZOJ 1452 传送门 Solution: 二维树状数组模板题 发现颜色数很少$c<=100$,因此对于每个颜色都建一棵二维线段树即可 (第一次写二维数据结构,发现套个循环就行了 ...

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

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

  6. BZOJ.1558.[JSOI2009]等差数列(线段树 差分)

    BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...

  7. BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】

    2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1326  Solved: 815 [Submit][St ...

  8. BZOJ 1443: [JSOI2009]游戏Game

    1443: [JSOI2009]游戏Game Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1077  Solved: 484 [Submit][S ...

  9. BZOJ 1444: [Jsoi2009]有趣的游戏

    1444: [Jsoi2009]有趣的游戏 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1114  Solved: 386 [Submit][Sta ...

最新文章

  1. python3.8.5怎么用-python3.8 五分钟就可以入门
  2. wps合并所有sheet页_Python一键合并上千个Excel表,一天的工作量一小时搞定!下班...
  3. vim之格式化代码功能——gg=G
  4. 12行代码AC-Leecode 598. 范围求和 II——Leecode每日一题系列
  5. 朴素贝叶斯网络matlab实现_基于朴素贝叶斯的文本分类方法实战
  6. html5做文字颜色渐变代码,神奇!js+CSS+DIV实现文字颜色渐变效果_javascript技巧
  7. 判断两个图片的特征向量_自媒体图文写多少字效果最好?多少张图片最合适?...
  8. pascal voc数据集_【资源分享】数据集搜索神器BIFROST
  9. 如果你正在使用CocoaPods,你的.gitignore会有什么?
  10. Alluxio部署(local模式)
  11. ios 团购信息客户端demo(二)
  12. 委托的定义和使用入门-天轰穿
  13. DHCP中继配置(思科)
  14. [iOS]音视频呼叫时手机震动或者播放来电铃声
  15. html5代码验证电话号码,这个我觉得挺重要的!
  16. swag_ios安卓 testlight /apps/android官方开发包安装
  17. python tornado异步_python tornado异步性能测试
  18. 正则表达式常用语法速查+一个简单使用案例
  19. element表格固定高度
  20. 《剑指offer》所有面试题及其参考代码

热门文章

  1. 我的开源项目:H.264码流分析器
  2. CImage 对话框初始化时候显示透明 PNG
  3. 方法 手写promise_实现一个符合 Promise/A+规范的 Promise(typescript 版)
  4. 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义
  5. AcWing基础算法课Level-2 第六讲 贪心
  6. 【CCCC】L2-022 重排链表 (25分),,链表遍历
  7. 【2018.6.7】高一总结暑假前
  8. Python入门--while循环
  9. php算法不大于n的质数,php求不大于n的质数
  10. 雷电模拟器多开cpu优化_哪个电脑手游模拟器好用 安卓手游模拟器测试对比排行榜...