Improved Bounds for Covering General Polygons with Rectangles

During the fabrication of masks for integrated circuits, the polygons on the pattern generator must be covered by rectangles preferably of minimum number. The rectangles must lie within the polygons. Let P be an arbitrary input polygon coverable by rectangles, with n vertices, possibly including polygonal holes. Let #(P) denote the minimum number of rectangles required to cover P , and lying totally within P. In this paper we show that in the RAM model O(n log n + #(P)) time suffices to compute a set of rectangles covering P. This improves the O(n x #(P)) bound known before. To prove this bound we solve an open problem concerning the approximation behavior of a proposed simple covering heuristic. Namely, we show that in the worst case it produces O (n log n+#(P)) rectangles' to cover P. (The previously proved bound was O(n x/z(P)).) Also, we prove the tightness of this upper bound for almost all pairs of values of n and #(P) .