AT_pakencamp_2025_day1_k Good Grid

题目描述

有一个长度为 $NM$ 的数列 $A$,开始时每个元素的值都是 $0$ 或 $1$。你可以对该数组进行任意多次如下操作: - 选择满足 $1 \leq l \leq r \leq NM$ 的整数 $l, r$,将 $A_l, A_{l+1}, \ldots, A_r$ 的值全部反转。 操作结束后,需要使 $A$ 满足如下条件: - 对于每个满足 $1 \leq i \leq M$ 的 $i$,都满足 $A_i = A_{i+M} = A_{i+2M} = \ldots = A_{i+(N-1)M}$。 请你求出满足条件所需操作次数的最小值。

输入格式

输入通过标准输入按以下格式给出。 > $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_M$ $A_{M+1}$ $A_{M+2}$ $\ldots$ $A_{2M}$ $\vdots$ $A_{(N-1)M+1}$ $A_{(N-1)M+2}$ $\ldots$ $A_{NM}$

输出格式

请输出最小操作次数。

说明/提示

### 样例解释 1 首先,进行 $l=7, r=7$ 的操作后如下所示: ``` 1 0 0 1 0 1 1 0 1 1 1 0 ``` 然后,进行 $l=2, r=5$ 的操作后如下所示,满足条件: ``` 1 1 1 0 1 1 1 0 1 1 1 0 ``` 此时所需操作次数为 $2$,且不可能用 $1$ 次以下的操作满足条件,所以输出 $2$。 ### 样例解释 2 对于第 $2, 4, 6$ 行的所有元素依次进行如下操作: - $l=7, r=12$ - $l=19, r=24$ - $l=31, r=36$ 共 $3$ 次操作可达到要求,这也是操作次数的最小值。 ### 样例解释 3 当 $N=1$ 时,数组总是满足条件,无需任何操作,此时输出 $0$。 ### 约束条件 - $1 \leq N, M \leq 2000$ - $A_i$ 仅为 $0$ 或 $1$($1 \leq i \leq NM$) - 所有输入均为整数。 由 ChatGPT 5 翻译