[bzoj 1452] [JSOI2009]Count
[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相关推荐
- 二维树状数组(bzoj 1452: [JSOI2009]Count)
1452: [JSOI2009]Count Time Limit: 10 Sec Memory Limit: 64 MB Submit: 2496 Solved: 1451 [Submit][St ...
- 二维树状数组 BZOJ 1452 [JSOI2009]Count
题目链接 裸二维树状数组 #include <bits/stdc++.h>const int N = 305; struct BIT_2D {int c[105][N][N], n, m; ...
- BZOJ 1452 [JSOI2009] Count
这道题好像有点简单的样子... absi找题目好厉害啊...确实是一道比较裸的2dBIT啊. 水掉吧. 附:2dBIT怎么做: 2dBIT就是BIT套BIT啦. 所以修改loop(x+=lowbit( ...
- [BZOJ 1452] Count
Link: BZOJ 1452 传送门 Solution: 二维树状数组模板题 发现颜色数很少$c<=100$,因此对于每个颜色都建一棵二维线段树即可 (第一次写二维数据结构,发现套个循环就行了 ...
- 【BZOJ1452】[JSOI2009]Count(树状数组)
[BZOJ1452][JSOI2009]Count(树状数组) 题面 BZOJ 洛谷 题解 数据范围这么小?不是对于每个颜色开一个什么东西记一下就好了吗. 然而我不会二维树状数组? 不存在的,凭借多年 ...
- BZOJ.1558.[JSOI2009]等差数列(线段树 差分)
BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1326 Solved: 815 [Submit][St ...
- BZOJ 1443: [JSOI2009]游戏Game
1443: [JSOI2009]游戏Game Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1077 Solved: 484 [Submit][S ...
- BZOJ 1444: [Jsoi2009]有趣的游戏
1444: [Jsoi2009]有趣的游戏 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1114 Solved: 386 [Submit][Sta ...
最新文章
- python3.8.5怎么用-python3.8 五分钟就可以入门
- wps合并所有sheet页_Python一键合并上千个Excel表,一天的工作量一小时搞定!下班...
- vim之格式化代码功能——gg=G
- 12行代码AC-Leecode 598. 范围求和 II——Leecode每日一题系列
- 朴素贝叶斯网络matlab实现_基于朴素贝叶斯的文本分类方法实战
- html5做文字颜色渐变代码,神奇!js+CSS+DIV实现文字颜色渐变效果_javascript技巧
- 判断两个图片的特征向量_自媒体图文写多少字效果最好?多少张图片最合适?...
- pascal voc数据集_【资源分享】数据集搜索神器BIFROST
- 如果你正在使用CocoaPods,你的.gitignore会有什么?
- Alluxio部署(local模式)
- ios 团购信息客户端demo(二)
- 委托的定义和使用入门-天轰穿
- DHCP中继配置(思科)
- [iOS]音视频呼叫时手机震动或者播放来电铃声
- html5代码验证电话号码,这个我觉得挺重要的!
- swag_ios安卓 testlight /apps/android官方开发包安装
- python tornado异步_python tornado异步性能测试
- 正则表达式常用语法速查+一个简单使用案例
- element表格固定高度
- 《剑指offer》所有面试题及其参考代码
热门文章
- 我的开源项目:H.264码流分析器
- CImage 对话框初始化时候显示透明 PNG
- 方法 手写promise_实现一个符合 Promise/A+规范的 Promise(typescript 版)
- 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义
- AcWing基础算法课Level-2 第六讲 贪心
- 【CCCC】L2-022 重排链表 (25分),,链表遍历
- 【2018.6.7】高一总结暑假前
- Python入门--while循环
- php算法不大于n的质数,php求不大于n的质数
- 雷电模拟器多开cpu优化_哪个电脑手游模拟器好用 安卓手游模拟器测试对比排行榜...