#B0. 【模板】二维树状数组 3

    ID: 1103 远端评测题 2000ms 128MiB 尝试: 1 已通过: 0 难度: 10 上传者: 标签>数据结构树状数组组合数学差分前缀和

【模板】二维树状数组 3

题目描述

这是一道模板题。

给定一个大小为 N×MN \times M 的零矩阵,直到输入文件结束,你需要进行若干个操作,操作有两类:

L a b c d x,表示将左上角为 (a,b)(a,b),右下角为 (c,d)(c,d) 的子矩阵全部加上 xx

k a b c d,表示询问左上角为 (a,b)(a,b),右下角为 (c,d)(c,d) 为顶点的子矩阵的所有数字之和。

输入格式

输入数据的第一行为 X n m,代表矩阵大小为 n×mn\times m
从输入数据的第二行开始到文件尾的每一行会出现以下两种操作:

  • L a b c d delta —— 代表将 (a,b),(c,d)(a,b),(c,d) 为顶点的矩形区域内的所有数字加上 deltadelta
  • k a b c d —— 代表求 (a,b),(c,d)(a,b),(c,d) 为顶点的矩形区域内所有数字的和。

请注意,kk 为小写。

输出格式

针对每个 kk 操作,在单独的一行输出答案。

X 4 4
L 1 1 3 3 2
L 2 2 4 4 1
k 2 2 3 3
12

提示

对于 10%10\% 的数据,1n161 \le n \le 161m161 \le m \le 16, 操作不超过 200200 个。

对于 60%60\% 的数据,1n5121 \le n \le 5121m5121 \le m \le 512

对于 100%100\% 的数据,1n20481 \le n \le 20481m20481 \le m \le 2048500delta500-500 \le delta \le 500,操作不超过 2×1052\times 10^5 个,保证运算过程中及最终结果均不超过 3232 位带符号整数类型的表示范围。