#P15467. 坐标印章

    ID: 14682 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2200动态规划前缀和贪心数据结构矩阵

坐标印章

题目描述

有一个 n×mn\times m0101 表格,左上角坐标为 (1,1)(1,1),右下角坐标为 (n,m)(n,m)

对于任意位置 (x,y)(x,y),定义

Ax,y=i=1yqx,i,A_{x,y}=\sum_{i=1}^{y} q_{x,i},

也就是第 xx 行从第 11 列到第 yy 列中 11 的数量。

同时定义

Bx,y=i=1xqi,y,B_{x,y}=\sum_{i=1}^{x} q_{i,y},

也就是第 yy 列从第 11 行到第 xx 行中 11 的数量。

现在只考虑所有满足 qx,y=1q_{x,y}=1 的位置。每个这样的格子都会生成一个坐标印章:

(Ax,y,Bx,y).(A_{x,y},B_{x,y}).

如果所有值为 11 的格子生成的坐标印章两两不同,那么这个表格就是一个 规范表格

现在给你一个初始表格。你可以进行若干次操作,每次选择一个当前为 00 的格子,将它改成 11

请你求出最少需要多少次操作,才能使整个表格变成规范表格。

输入格式

第一行两个正整数 n,mn,m

接下来 nn 行,每行 mm0/10/1 字符,表示初始表格。第 ii 行第 jj 个字符表示 qi,jq_{i,j}

输出格式

输出一行一个非负整数,表示最少需要把多少个 00 改成 11

样例 1 输入

3 3
1 0 0
0 0 1
0 0 1

样例 1 输出

1

样例 2 输入

4 4
0 1 0 1
1 1 1 1
1 0 0 0
1 1 0 0

样例 2 输出

2

样例解释

对于第一个样例,将 (1,3)(1,3) 变为 11 即可。

对于第二个样例,将 (1,1)(1,1)(1,3)(1,3) 变为 11 即可。

样例 3 \sim 7

见选手目录下 snow/ex_snow37.insnow/ex\_snow3\sim 7.insnow/ex_snow37.outsnow/ex\_snow3\sim 7.out

数据分别满足子任务 2,3,4,6,72,3,4,6,7 的限制。

数据范围

保证对于所有数据,1n,m5001\le n,m\le 500。Subtask 4,54,5 中每个 Subtask 有不超过 55 组测试点。

Subtask nn mm 分值 特殊性质
11 4\le 4 1010
22 =2=2 300\le 300
33 =3=3
44 8\le 8 矩阵元素随机生成
55 15\le 15 1515
66 50\le 50 2020
77 500\le 500 2525