Given in the plane a set of points and a set of halfplanes, we consider the problem of computing a smallest subset of halfplanes whose union covers all points. In this paper, we present an $O(n^{4/3}\log^{5/3}n\log^{O(1)}\log n)$-time algorithm for the problem, where $n$ is the total number of all points and halfplanes. This improves the previously best algorithm of $n^{10/3}2^{O(\log^*n)}$ time by roughly a quadratic factor. For the special case where all halfplanes are lower ones, our algorithm runs in $O(n\log n)$ time, which improves the previously best algorithm of $n^{4/3}2^{O(\log^*n)}$ time and matches an $\Omega(n\log n)$ lower bound. Further, our techniques can be extended to solve a star-shaped polygon coverage problem in $O(n\log n)$ time, which in turn leads to an $O(n\log n)$-time algorithm for computing an instance-optimal $\epsilon$-kernel of a set of $n$ points in the plane. Agarwal and Har-Peled presented an $O(nk\log n)$-time algorithm for this problem in SoCG 2023, where $k$ is the size of the $\epsilon$-kernel; they also raised an open question whether the problem can be solved in $O(n\log n)$ time. Our result thus answers the open question affirmatively.
翻译:给定平面上的点集和半平面集,我们考虑计算能够覆盖所有点的最小半平面子集的问题。本文提出一种时间复杂度为 $O(n^{4/3}\log^{5/3}n\log^{O(1)}\log n)$ 的算法,其中 $n$ 表示所有点与半平面的总数。该结果将此前最优的 $n^{10/3}2^{O(\log^*n)}$ 时间算法改进约二次因子。针对所有半平面均为下半平面的特殊情况,我们的算法运行时间为 $O(n\log n)$,优于此前最优的 $n^{4/3}2^{O(\log^*n)}$ 时间算法,并与下界 $\Omega(n\log n)$ 匹配。进一步地,我们的技术可扩展至星形多边形覆盖问题,在 $O(n\log n)$ 时间内求解,进而导出平面中 $n$ 个点集实例最优 $\epsilon$-核的 $O(n\log n)$ 时间算法。Agarwal 与 Har-Peled 在 SoCG 2023 上提出了该问题的 $O(nk\log n)$ 时间算法(其中 $k$ 为 $\epsilon$-核的规模),并公开提出能否在 $O(n\log n)$ 时间内求解该问题。我们的结果对此问题给出了肯定回答。