#635. 温度热力图平均值

温度热力图平均值

温度热力图平均值

故事背景

气象部门记录了城市被划分网格后的温度热力图。为了评估某片区域的冷热程度,他们需要频繁查询任意矩形区域的平均温度。请你帮助他们快速得到结果。

题目描述

给定一个 n×m 的整数矩阵 a 表示温度,接着有 q 次询问。每次询问给出矩形 (x1, y1) 到 (x2, y2)(1 基),输出该区域的平均温度(保留两位小数)。

输入格式

  • 第一行包含三个整数 n、m、q。
  • 接下来 n 行,每行 m 个整数,表示矩阵 a。
  • 接下来 q 行,每行四个整数 x1、y1、x2、y2。

输出格式

输出 q 行,每行一个实数,为对应区域的平均温度,四舍五入保留两位小数。

输入输出样例 #1

输入 #1

3 4 2
1 2 3 4
5 6 7 8
9 10 11 12
1 1 3 4
2 2 3 3

输出 #1

6.50
8.50

样例解释 #1

第一问覆盖 12 个格子,总和 78,平均值 78/12=6.5;第二问覆盖 4 个格子 {6,7,10,11},平均值 34/4=8.5。

说明/提示

  • 数据范围示例:1 ≤ n,m ≤ 1000;1 ≤ q ≤ 2×10^5;-10^9 ≤ a[i][j] ≤ 10^9。
  • 建议用二维前缀和 O(1) 求子矩形和,再除以面积 (x2-x1+1)*(y2-y1+1) 得平均值;C++ 可用 fixed << setprecision(2) 格式化输出。