We present efficient dynamic data structures for maintaining the union of unit discs and the lower envelope of pseudo-lines in the plane. More precisely, we present three main results in this paper: (i) We present a linear-size data structure to maintain the union of a set of unit discs under insertions. It can insert a disc and update the union in $O((k+1) \log^2 n)$ time, where $n$ is the current number of unit discs and $k$ is the combinatorial complexity of the structural change in the union due to the insertion of the new disc. It can also compute, within the same time bound, the area of the union after the insertion of each disc. (ii) We propose a linear-size data structure for maintaining the lower envelope of a set of $x$-monotone pseudo-lines. It can handle insertion/deletion of a pseudo-line in $O(\log^2 n)$ time; for a query point $x_0\in\mathbb{R}$, it can report, in $O(\log n)$ time, the point on the lower envelope with $x$-coordinate $x_0$; and for a query point $q\in\mathbb{R}^2$, it can return all $k$ pseudo-lines lying below $q$ in time $O(\log n+k\log^2 n)$. (iii) We present a linear-size data structure for storing a set of circular arcs of unit radius (not necessarily on the boundary of the union of the corresponding discs), so that for a query unit disc $D$, all input arcs intersecting $D$ can be reported in $O(n^{1/2+\varepsilon} + k)$ time, where $k$ is the output size and $\varepsilon > 0$ is an arbitrarily small constant. A unit-circle arc can be inserted or deleted in $O(\log^2 n)$ time.
翻译:暂无翻译