【问题标题】:Minimal area matrix covering最小面积矩阵覆盖
【发布时间】:2011-11-07 07:55:31
【问题描述】:

考虑到一个 n×n 二进制矩阵,我想找到两个矩形的最小面积,它可以覆盖所有的(1)。也就是说,矩形的面积之和必须是最小的。 矩形可以重叠。

例子:

0 0 0 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
0 0 0 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0

最小区域为:3 * 9 + 9 * 3 = 54

我很想知道是否有比O(n^4) 更好的解决方案。

【问题讨论】:

  • 如有必要,是否也可以覆盖 0?

标签: algorithm matrix


【解决方案1】:

您可以首先通过在矩阵中找到最上面、最下面、最右边和最左边的 1 来解决一个矩形的问题。然后您知道,当且仅当您可以切出全 0 的对称块时,您可以通过使用第二个矩形来改进您的结果。

【讨论】:

  • 不一定。例如,如果你的那些形成 L 形。
猜你喜欢
  • 2012-12-25
  • 2018-05-01
  • 1970-01-01
  • 2012-10-17
  • 2022-11-02
  • 1970-01-01
  • 2017-03-23
  • 1970-01-01
  • 2015-07-25
相关资源
最近更新 更多