atcoder#ABC264F. [ABC264F] Monochromatic Path

[ABC264F] Monochromatic Path

配点 : 500500

問題文

各マスが白または黒で塗られた HHWW 列のグリッドがあります。 1iH1 \leq i \leq H かつ 1jW1 \leq j \leq W を満たす整数の組 (i,j)(i, j) について、 グリッドの上から ii 行目、左から jj 行目のマス(以下、単にマス (i,j)(i, j) と呼ぶ)の色は Ai,jA_{i, j} で表されます。 Ai,j=0A_{i, j} = 0 のときマス (i,j)(i, j) は白色、Ai,j=1A_{i, j} = 1 のときマス (i,j)(i, j) は黒色です。

「下記の 22 つの操作のどちらかを行うこと」を好きなだけ( 00 回でも良い)繰り返すことができます。

  • 1iH1 \leq i \leq H を満たす整数を選び、RiR_i 円払った後、グリッドの上から ii 行目にあるそれぞれのマスの色を反転させる(白色のマスは黒色に、黒色のマスは白色に塗り替える)。
  • 1jW1 \leq j \leq W を満たす整数を選び、CjC_j 円払った後、グリッドの左から jj 列目にあるそれぞれのマスの色を反転させる。

下記の条件を満たすようにするためにかかる合計費用の最小値を出力して下さい。

  • マス (1,1)(1, 1) から「現在いるマスの右隣もしくは下隣のマスに移動する」 ことを繰り返してマス (H,W)(H, W) まで移動する経路であって、通るマス(マス (1,1)(1, 1) とマス (H,W)(H, W) も含む)の色がすべて同じであるようなものが存在する。

本問題の制約下において、有限回の操作によって上記の条件を満たすようにすることが可能であることが証明できます。

制約

  • 2H,W20002 \leq H, W \leq 2000
  • 1Ri1091 \leq R_i \leq 10^9
  • 1Cj1091 \leq C_j \leq 10^9
  • Ai,j{0,1}A_{i, j} \in \lbrace 0, 1\rbrace
  • 入力はすべて整数

入力

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

HH WW

R1R_1 R2R_2 \ldots RHR_H

C1C_1 C2C_2 \ldots CWC_W

A1,1A1,2A1,WA_{1, 1}A_{1, 2}\ldots A_{1, W}

A2,1A2,2A2,WA_{2, 1}A_{2, 2}\ldots A_{2, W}

\vdots

AH,1AH,2AH,WA_{H, 1}A_{H, 2}\ldots A_{H, W}

出力

答えを出力せよ。

3 4
4 3 5
2 6 7 4
0100
1011
1010
9

白色のマスを 0 、黒色のマスを 1 で表します。 初期状態のグリッドに対し、R2=3R_2 = 3 円払って上から 22 行目にあるそれぞれのマスを反転させると、

0100
0100
1010

となります。さらに、C2=6C_2 = 6 円払って左から 22 列目にあるそれぞれのマスを反転させると、

0000
0000
1110

となり、マス (1,1)(1, 1) からマス (3,4)(3, 4) への移動経路であって通るマスの色がすべて同じであるようなものが存在する状態になります(例えば $(1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (2, 3) \rightarrow (2, 4) \rightarrow (3, 4)$ という経路)。 かかった合計費用は 3+6=93+6 = 9 円であり、このときが考えられる中で最小です。

15 20
29 27 79 27 30 4 93 89 44 88 70 75 96 3 78
39 97 12 53 62 32 38 84 49 93 53 26 13 25 2 76 32 42 34 18
01011100110000001111
10101111100010011000
11011000011010001010
00010100011111010100
11111001101010001011
01111001100101011100
10010000001110101110
01001011100100101000
11001000100101011000
01110000111011100101
00111110111110011111
10101111111011101101
11000011000111111001
00011101011110001101
01010000000001000000
125