http://www.lydsy.com/JudgeOnline/problem.php?id=1452

题目全是图片,不复制了。

开100个二维树状数组,分别记录区间内各个颜色的出现位置……

简单粗暴。

注意查询操作的读入顺序是x1 x2 y1 y2

 /*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int mxn=;
int t[][mxn][mxn];
int c[mxn][mxn];
int n,m;
inline int lowbit(int x){return x&-x;}
void add(int x,int y,int c,int v){
while(x<=n){
int tmp=y;
while(tmp<=m){t[c][x][tmp]+=v;tmp+=lowbit(tmp);}
x+=lowbit(x);
}
}
int smm(int x,int y,int c){
int res=;
while(x){
int tmp=y;
while(tmp){res+=t[c][x][tmp];tmp-=lowbit(tmp);}
x-=lowbit(x);
}
return res;
}
int ask(int x1,int y1,int x2,int y2,int c){
return smm(x2,y2,c)+smm(x1-,y1-,c)-smm(x2,y1-,c)-smm(x1-,y2,c);
}
int main(){
int i,j;int x;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++)
for(j=;j<=m;j++){
scanf("%d",&x);
c[i][j]=x;
add(i,j,x,);
}
int Q;
scanf("%d",&Q);
int x1,y1,x2,y2;
while(Q--){
scanf("%d",&i);
if(i==){
scanf("%d%d%d",&x1,&y1,&x);
add(x1,y1,c[x1][y1],-);
c[x1][y1]=x;
add(x1,y1,c[x1][y1],);
}
else{
scanf("%d%d%d%d%d",&x1,&x2,&y1,&y2,&x);
printf("%d\n",ask(x1,y1,x2,y2,x));
}
}
return ;
}

最新文章

  1. XAMARIN +VS2015 ANDROID 开发判断gps 是否打开。
  2. 61.MII、RMII、GMII接口的详细介绍
  3. com组件的注册
  4. unity 导出 android安装包配置方案
  5. Centos ssh 登陆乱码解决办法
  6. Spring的MVC控制器返回ModelMap时,会跳转到什么页面?
  7. 菜鸟学习SSH(二)——Struts国际化
  8. 树——axure线框图部件库介绍
  9. .NET MVC学习之模型绑定
  10. 【angular】angular如何让传递变量参数+ng-change的使用
  11. 报错:keep must be either &quot;first&quot;, &quot;last&quot; or False
  12. ubuntu下Qt链接MySQL: QMYSQL driver not loaded(不用重新编译源码)
  13. Chapter5_初始化与清理_成员初始化
  14. Linux简单学习
  15. plsql developer 使用sys用户登录,报ORA-01031权限不足,解决sys(dba权限用户)远程登录报错。
  16. 转:Android开发:使用DDMS Heap进行内存泄露调试
  17. laravel读取memcached缓存并做条件查询
  18. 分布式存储中HDFS与Ceph两者的区别是什么,各有什么优势?
  19. Android使用DrawerLayout仿qq6.6版本侧滑效果
  20. PostgreSQL数据库smallint、bigint转到Oracle,要用什么类型替代? 是number么,那长度分别是多少?

热门文章

  1. c++ json字符串转换成map管理
  2. 『jQuery』.html(),.text()和.val()的概述及使用--2015-08-11
  3. Android深度探索总结
  4. 看了下opengl相关的资料,踩了一个坑,记录一下
  5. [BZOJ] 5415: [Noi2018]归程
  6. JS - 生成UUID
  7. PHP将unicode转utf8最简法
  8. cf 1006E
  9. Linux之ssh服务介绍
  10. dedecms 建站相关问题