Translating a regular grid over a point set

  • Authors:
  • Prosenjit Bose;Marc van Kreveld;Anil Maheshwari;Pat Morin;Jason Morrison

  • Affiliations:
  • School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, Canada, K1S 5B6;School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, Canada, K1S 5B6;School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, Canada, K1S 5B6;School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, Canada, K1S 5B6;School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, Canada, K1S 5B6

  • Venue:
  • Computational Geometry: Theory and Applications - Special issue: The European workshop on computational geometry -- CG01
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the problem of translating a (finite or infinite) square grid G over a set S of n points in the plane in order to maximize some objective function. We say that a grid cell is k-occupied if it contains k or more points of S. The main set of problems we study have to do with translating an infinite grid so that the number of k-occupied cells is maximized or minimized. For these problems we obtain running times of the form O(kn polylog (n)). We also consider the problem of translating a finite size grid, with m cells, in order to maximize the number of k-occupied cells. Here we obtain a running time of the form O(knm polylog (nm)). In solving these problems, we design a data structure T that maintains in O(log n) time per operation, a function f: R →R under the following query and update operations where [a, b) is a continuous interval inR: 1. INSERT(T, a, b, δ): Increase the value of f(x) by δ for all x ∈ [a, b). 2. DELETE(T, a, b, δ): Decrease the value of f(x) by δ for all x ∈ [a, b). 3. MAX-COVER(): Return max{f(x): x ∈R}. 4. MAX-COVER-WITNESS(): Return a value x* such that f(x*) = max{f(x): x ∈R}. 5. MAX-IN(a, b): Returns max{f(x): x ∈ [a, b)}. 6. MAX-WITNESS-IN(a, b): Returns a value x* such that f(x*) = max{f(x): x ∈ [a, b)}. as well as the min counter-parts of these queries.