AT_arc081_d [ARC081F] Flip and Rectangles
题目描述
有一个 $H \times W$ 的网格。网格中的每个格子被涂成黑色或白色。从上到下第 $i$ 行,从左到右第 $j$ 列的格子,如果 $S_i$ 的第 $j$ 个字符是 `#`,那么该格子是黑色;如果是 `.`,那么是白色。
Sunnuke 君可以任意次数地进行如下操作:
- 任选网格中的某一行或某一列,将该行或该列的所有格子的颜色反转(即,将黑色格子变成白色,将白色格子变成黑色)。
在操作结束后,Sunnuke 君会选择网格中的一个长方形。此时,所选长方形中的所有格子必须都是黑色。
若操作合理,Sunnuke 君能选择的长方形的最大面积是多少?
输入格式
输入以如下格式从标准输入中给出。
> $H$ $W$
> $S_1$
> $S_2$
> $\vdots$
> $S_H$
输出格式
输出 Sunnuke 君能选择的最大长方形的面积。
说明/提示
### 限制条件
- $2 \leq H \leq 2000$
- $2 \leq W \leq 2000$
- $|S_i| = W$
- $S_i$ 仅由 `#` 和 `.` 组成。
### 样例说明 1
如图所示,如果将第 1 行和第 3 列进行反转,则可以选出一个 $2 \times 3$ 的长方形。

由 ChatGPT 5 翻译