【发布时间】:2015-06-08 22:22:17
【问题描述】:
我需要找到一种算法来找到给定矩形 R 中重叠矩形的最少个数量,这些重叠矩形不与包含的一组 other 矩形的并集相交在 R 内。这些内部矩形可以重叠。这是示例 R 的可怕 ASCII 绘图:
A-----------------B-------------------------+
| |
| |
| |
| |
| +--------+ |
| |........| |
| |........| |
C +---D........| |
| |.........+--+ |
| |.........| |
| ++........+------+ |
| |...............| |
G +---H...........| |
| |...........| |
| |...........| |
| |...........| |
| +-----------+ |
| |
| |
| |
E-------------I----F------------------------+
这里的矩形将包括 (A, D), (A, I), (G, F)。这似乎是一个解决方案很好理解的问题,但我只是缺乏词汇。任何答案、指点、RTFM 都会愉快而感激地接受。谢谢!
编辑:根据@Paul 在下面的观察,我要做的是找到一组矩形,它们覆盖 R 中的空间,而不覆盖由内部集合的并集组成的任何多边形。如果这有意义的话。
【问题讨论】:
-
我想你忘了提到矩形应该填充 R 中的区域,而不是给定矩形的联合?否则答案总是 0
-
我会在解决另一个问题后尽快找到答案
-
重叠的矩形会不会产生一堆“洞”?换句话说,我可以让四个部分相邻的矩形创建一个完全被 r3ctanlges 包围的内部区域吗?
-
这需要一些时间,但我找到了一些有用的资源。顺便说一句,如果你想自己搜索,“一组矩形的联合”的正确术语是“直线多边形”
-
谢谢,很高兴知道。碰巧,我不需要最小的集合或最大的图块;实际上,如果这样可以使算法更易于理解或执行得更快,我愿意接受次优集合。
标签: algorithm rectangles