Description


Input


Output


Sample Input

Sample Output

1

2
HINT

一开始还想什么离线做,其实不用,空间足够,我们直接开100个二维树状数组,然后就行了

但是如果c范围很大就离线做好一些

 type
tree=array[..,..]of longint;
var
s:array[..]of tree;
a:array[..,..]of longint;
n,m,q:longint; procedure add(var c:tree;x,y,w:longint);
var
i:longint;
begin
while x<=n do
begin
i:=y;
while i<=m do
begin
inc(c[x,i],w);
i:=i+(i and (-i));
end;
x:=x+(x and (-x));
end;
end; function sum(var c:tree;x,y:longint):longint;
var
i:longint;
begin
sum:=;
while x> do
begin
i:=y;
while i> do
begin
inc(sum,c[x,i]);
i:=i-(i and (-i));
end;
x:=x-(x and (-x));
end;
end; procedure main;
var
i,j,x1,y1,x2,y2,c:longint;
begin
read(n,m);
for i:= to n do
for j:= to m do
begin
read(a[i,j]);
add(s[a[i,j]],i,j,);
end;
read(q);
for i:= to q do
begin
read(j);
if j= then
begin
read(x1,y1,c);
add(s[a[x1,y1]],x1,y1,-);
a[x1,y1]:=c;
add(s[c],x1,y1,);
end
else
begin
read(x1,x2,y1,y2,c);
writeln(sum(s[c],x2,y2)+sum(s[c],x1-,y1-)-sum(s[c],x1-,y2)-sum(s[c],x2,y1-));
end;
end;
end; begin
main;
end.

最新文章

  1. go 获取函数被调用的文件即行数
  2. 用Reveal分析第三方App的UI
  3. Linux 中断详解 【转】
  4. 关于RACK的一点简单介绍
  5. C++语法 初始化列表 数组引用
  6. linux ll 命令各列的含义
  7. hdu----(1528)Card Game Cheater(最大匹配/贪心)
  8. Ruby on Rails vs. PHP vs. Python
  9. MVC 弹出提示框
  10. 一些Linux优化方法
  11. Struts2 校验
  12. Objective-C该Protocol
  13. Win10《芒果TV》商店版更新v3.4.0:率先支持创意者画中画,工作娱乐两不误
  14. Java Web项目(Extjs)报错六
  15. Angular 学习笔记 ( 链接服务器 )
  16. VS2017安装步骤详解
  17. 我的Mac Pro coding环境配置
  18. SOCKS5 协议解析
  19. SpringBoot获取全局配置文件的属性以及@ConfigurationProperties实现类型安全的配置
  20. urllib模块学习

热门文章

  1. iOS - OC &amp; Xcode
  2. jquery的clone方法 于textarea和select的bug修复
  3. Java web的读取Excel简单Demo
  4. vector C++ 详细用法
  5. 《shell条件测试语句,字符串测试apache是否开启》
  6. 如何在Mac下使用TF/SD 卡制作Exynos 4412 u-boot启动盘
  7. DTCMS列表页自定义参数。
  8. C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法
  9. 【Sql Server】使用触发器把一个表中满足条件的数据部分字段插入到另一个表中
  10. “~/Views/Home/Text.aspx”处的视图必须派生自 ViewPage、ViewPage&lt;TModel&gt;、ViewUserControl 或 ViewUserControl&lt;TModel&gt;。