atcoder#ARC081D. [ARC081F] Flip and Rectangles

[ARC081F] Flip and Rectangles

题目描述

H × W H\ \times\ W のマス目があります. マス目の各マスは黒か白かに塗られており,上から i i 番目,左から j j 番目のマスは,Si S_i j j 文字目が # のとき黒マス,. のとき白マスです.

すぬけ君は,マス目に対して次の操作を好きな回数行うことができます.

  • マス目の任意の行または列を選び,その行または列のすべてのマスの色を反転する (すなわち,黒で塗られたマスを白に,白で塗られたマスを黒に塗り替える).

操作の後,すぬけ君はマス目に沿った長方形を 1 1 個選びます.このとき,選んだ長方形に含まれるすべてのマスは黒で塗られていなければなりません.

うまく操作を行うとき,すぬけ君が選ぶことができる最大の長方形の面積を求めてください.

输入格式

入力は以下の形式で標準入力から与えられる。

H H W W S1 S_1 S2 S_2 : : SH S_H

输出格式

すぬけ君が選ぶことができる最大の長方形の面積を出力せよ.

题目大意

给出一个拥有 H×WH\times W 个格子的棋盘,每个格子的颜色为黑色或白色。 Snuke 可以进行任意次下列操作:

  • 选择棋盘中的一行或一列,将这一行或一列的颜色翻转(黑变成白,白变成黑) Snuke 想知道,在他进行操作后,棋盘中最大的全黑矩形最大能为多少。
3 3
..#
##.
.#.
6
4 4
....
....
....
....
16
10 8
##...#.#
##...#.#
..###.#.
#.##.#.#
.#..#.#.
..##.#.#
##.#.#..
...#.#..
###.#.##
###..###
27

提示

制約

  • 2  H  2000 2\ \leq\ H\ \leq\ 2000
  • 2  W  2000 2\ \leq\ W\ \leq\ 2000
  • Si = W |S_i|\ =\ W
  • Si S_i #, . のみからなる.

Sample Explanation 1

下図のように,上から 1 1 行目,左から 3 3 列目を反転させると,2 × 3 2\ \times\ 3 の長方形を選ぶことができます. ![](https://atcoder.jp/img/arc081/2995c3921ed4dffc8ee528b63b9c6118.png)