P13933 [蓝桥杯 2022 省 Java B] 最大子矩阵
题目描述
小明有一个大小为 $N \times M$ 的矩阵,可以理解为一个 $N$ 行 $M$ 列的二维数组。
我们定义一个矩阵 $m$ 的稳定度 $f(m)$ 为 $f(m) = \max(m) - \min(m)$,其中 $\max(m)$ 表示矩阵 $m$ 中的最大值,$\min(m)$ 表示矩阵 $m$ 中的最小值。现在小明想要从这个矩阵中找到一个稳定度不大于 $limit$ 的子矩阵,同时他还希望这个子矩阵的面积越大越好(面积可以理解为矩阵中元素个数)。
子矩阵定义如下:从原矩阵中选择一组连续的行和一组连续的列,这些行列交点上的元素组成的矩阵即为一个子矩阵。
输入格式
第一行输入两个整数 $N$,$M$,表示矩阵的大小。
接下来 $N$ 行,每行输入 $M$ 个整数,表示这个矩阵。
最后一行输入一个整数 $limit$,表示限制。
输出格式
输出一个整数,分别表示小明选择的子矩阵的最大面积。
说明/提示
**【样例说明】**
满足稳定度不大于 $8$ 的且面积最大的子矩阵总共有三个,他们的面积都是 $6$(粗体表示子矩阵元素):
$$\begin{array}{llll}\bf2 & \bf0 & 7 & 9 \\\bf0 & \bf6 & 9 & 7 \\\bf8 & \bf4 & 6 & 4\end{array}$$
$$\begin{array}{llll}2 & 0 & \bf7 & \bf9 \\0 & 6 & \bf9 & \bf7 \\8 & 4 & \bf6 & \bf4\end{array}$$
$$\begin{array}{llll}2 & 0 & 7 & 9 \\0 & \bf6 & \bf9 & \bf7 \\8 & \bf4 & \bf6 & \bf4\end{array}$$
**【评测用例规模与约定】**
| 评测用例编号 | $N$ | $M$ |
| :-: | :-: | :-: |
| $1, 2$ | $1 \leq N \leq 10$ | $1 \leq M \leq 10$ |
| $3, 4$ | $N = 1$ | $M \leq 100000$ |
| $5 \sim 12$ | $1 \leq N \leq 10$ | $M \leq 10000$ |
| $13 \sim 20$ | $1 \leq N \leq 80$ | $1 \leq M \leq 80$ |
对于所有评测用例,$0 \leq$ 矩阵元素值, $limit \leq 10^5$。