AT_abc264_f [ABC264F] Monochromatic Path

题目描述

有一个 $H$ 行 $W$ 列的网格,每个格子被涂成白色或黑色。对于满足 $1 \leq i \leq H$ 且 $1 \leq j \leq W$ 的整数对 $(i, j)$,网格从上到下第 $i$ 行、从左到右第 $j$ 列的格子的颜色用 $A_{i, j}$ 表示。当 $A_{i, j} = 0$ 时,格子 $(i, j)$ 是白色;当 $A_{i, j} = 1$ 时,格子 $(i, j)$ 是黑色。 你可以任意次(也可以一次都不做)重复以下两种操作中的任意一种: - 选择一个满足 $1 \leq i \leq H$ 的整数,支付 $R_i$ 日元后,将网格从上到下第 $i$ 行的所有格子的颜色反转(白色变黑色,黑色变白色)。 - 选择一个满足 $1 \leq j \leq W$ 的整数,支付 $C_j$ 日元后,将网格从左到右第 $j$ 列的所有格子的颜色反转。 请输出,为了满足下述条件所需的最小总费用: - 存在一条从格子 $(1, 1)$ 出发,每次只能向右或向下移动,最终到达格子 $(H, W)$ 的路径,使得路径上经过的所有格子(包括 $(1, 1)$ 和 $(H, W)$)的颜色都相同。 在本题的约束下,可以通过有限次操作使上述条件成立。

输入格式

输入以如下格式从标准输入读入。 > $H$ $W$ $R_1$ $R_2$ $\ldots$ $R_H$ $C_1$ $C_2$ $\ldots$ $C_W$ $A_{1, 1}A_{1, 2}\ldots A_{1, W}$ $A_{2, 1}A_{2, 2}\ldots A_{2, W}$ $\vdots$ $A_{H, 1}A_{H, 2}\ldots A_{H, W}$

输出格式

请输出答案。

说明/提示

## 约束 - $2 \leq H, W \leq 2000$ - $1 \leq R_i \leq 10^9$ - $1 \leq C_j \leq 10^9$ - $A_{i, j} \in \{0, 1\}$ - 输入均为整数 ## 样例解释 1 用 `0` 表示白色格子,`1` 表示黑色格子。对于初始状态的网格,支付 $R_2 = 3$ 日元将第 $2$ 行的所有格子反转后,网格变为: ``` 0100 0100 1010 ``` 接着,支付 $C_2 = 6$ 日元将第 $2$ 列的所有格子反转后,网格变为: ``` 0000 0000 1110 ``` 此时,存在一条从 $(1, 1)$ 到 $(3, 4)$ 的路径,路径上所有格子的颜色都相同(例如 $(1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (2, 3) \rightarrow (2, 4) \rightarrow (3, 4)$)。所需的总费用为 $3+6=9$ 日元,这是所有可能方案中的最小值。 由 ChatGPT 4.1 翻译