使矩阵为零

时间:2014-02-14 03:48:51

标签: arrays algorithm matrix

给出了两个包含N行和M列的矩阵。让P[i][j]A[i][j]分别为第一个和第二个矩阵的jth行的ith元素。现在我们想要使第二个矩阵的每个元素为零。在每个回合中,我们必须选择五个整数:

1 ≤ x1 ≤ x2 ≤ N
1 ≤ y1 ≤ y2 ≤ M
0 ≤ k ≤ 10000

在此之后,对于所有对(i,j),使得:

x1 ≤ i ≤ x2
y1 ≤ j ≤ y2

完成以下操作:

A[i][j] = (k + A[i][j]) % P[i][j]

现在,我想在最小移动中使A矩阵为零。除了挑选每个元素并使用P[i][j]-A[i][j]的差异递增它之外,最好的方法是什么。

示例:假设我们有N=2M=2并且让P矩阵为

1 2
2 3

A矩阵

0 1
1 1

然后这里最小的移动是2:

移动1:将(1,1)(2,2)之间的每个值增加1

移动2:将(2,2)之间的每个值增加(2,2)乘以1

这是一个优化问题,可以有很多答案,所以我希望答案最接近最小化。

因此,我需要告知每次移动时x1, y1, x2, y2k的最小移动。

约束条件为:NM最高可达100.所有P[i][j]最多为10,A[i][j]始终高于P[i][j]。< / p>

0 个答案:

没有答案