一道比较水的二维树状数组,开100个即可,只有100种颜色还是比较EZ的。

 Program BZOJ1452;
const maxn=;
maxc=;
var a:array[..maxn,..maxn,..maxc] of longint;
f:array[..maxn,..maxn] of longint;
m,n,i,j,x,y,x1,y1,x2,y2,z,Q,ch,sum:longint;
procedure add(i,j,c,k:longint);
var x,y:longint;
begin
x:=i;
while x<=m do
begin
y:=j;
while y<=n do
begin
inc(a[x,y,c],k);
y:=y+y and -y;
end;
x:=x+x and -x;
end;
end;
function sigma(i,j,c:longint):longint;
var x,y,sum:longint;
begin
sum:=; x:=i;
while x> do
begin
y:=j;
while y> do
begin
inc(sum,a[x,y,c]);
y:=y-y and -y;
end;
x:=x-x and -x;
end;
exit(sum);
end;
begin
readln(m,n);
for i:= to m do
for j:= to n do
begin
read(x);
add(i,j,x,);
f[i,j]:=x;
end;
readln(Q);
while Q> do
begin
read(ch);
if ch= then
begin
readln(x,y,z);
add(x,y,f[x,y],-);
f[x,y]:=z;
add(x,y,z,);
end else
begin
readln(x1,x2,y1,y2,z);
sum:=sigma(x2,y2,z)-sigma(x1-,y2,z)-sigma(x2,y1-,z)+sigma(x1-,y1-,z);
writeln(sum);
end;
dec(Q);
end;
end.

最新文章

  1. css的active事件在手机端不生效的解决方法
  2. 如何给ZenCart网站livezilla客服系统?
  3. Android MVP理解
  4. 自己封装的一个java图片验证码
  5. .NET开源工作流RoadFlow-表单设计-新建表单(属性设置)
  6. 使用c++11改写loki的TypeList
  7. 在CheckBox中,仅仅允许选择一项
  8. git的操作集合
  9. opencv imwrite保存图片花屏的问题
  10. MFCC特征参数提取流程概述
  11. actuator/hystrix.stream 没有反应的方法
  12. 【AtCoder】ARC078
  13. [luogu P1438] 无聊的数列
  14. Java 8 默认方法(Default Methods)
  15. 代码: html 页面小效果 (集合,待补充)
  16. python的时间处理-time模块
  17. 04: 事件驱动、五种I/O操作、I/O多路复用select和epoll
  18. Web应用配置虚拟主机(www.baidu.com)
  19. make的自动变量和预定义变量
  20. 【OpenCV学习笔记】三十、轮廓特征属性及应用(七)—位置关系及轮廓匹配

热门文章

  1. 获取openid [微信小程序]
  2. 2017杭电多校06Rikka with Graph
  3. Android 性能优化(26)*性能工具之「Batterystats,Battery Historian」Batterystats &amp; Battery Historian Walkthrough
  4. Axis通过wsdd部署Web Service
  5. hbase优化小结
  6. 在dataGridView空间中添加数据
  7. 19 C#循环语句的跳过和中断 continue和break
  8. SQLiteDeveloper 工具
  9. DropDownList 递归绑定分子公司信息
  10. RabbitMQ系列(一)--消息中间件MQ如何去选择