Rectangle Tiling Binary Arrays
The problem of rectangle tiling binary arrays is defined as follows. Given an n × n array A of zeros and ones and a natural number p, our task is to partition A into at most p rectangular tiles, so that the maximal weight of a tile is minimized. A tile is any rectangular subarray of A. The weight of a tile is the sum of elements that fall within it. We present a linear (O(n^2)) time (3/2+p^2/w(A))-approximation algorithm for this problem, where w(A) denotes the weight of the whole array A. The algorithm employs the lower bound of L=⌈w(A)/p⌉, which is the same lower bound on the optimum that was used in all algorithms for rectangle tiling. We prove that a better approximation factor for the binary cannot be achieved using the same lower bound L, because there exist arrays, whose every partition contains a tile of weight at least (3/2+p^2/w(A))L. The previously known approximation algorithm for rectangle tiling binary arrays achieved the ratio of 2. We also consider the dual problem of rectangle tiling for binary arrays, where we are given an upper bound on the weight of the tiles, and we have to cover the array A with the minimum number of non-overlapping tiles. Both problems have natural extensions to d-dimensional versions, for which we provide analogous results.
READ FULL TEXT