Given a set of $m$ points and a set of $n$ lines in the plane, we consider the problem of computing the faces of the arrangement of the lines that contain at least one point. In this paper, we present an $O(m^{2/3}n^{2/3}+(n+m)\log n)$ time algorithm for the problem. We also show that this matches the lower bound under the algebraic decision tree model and thus our algorithm is optimal. In particular, when $m=n$, the runtime is $O(n^{4/3})$, which matches the worst case combinatorial complexity $Ω(n^{4/3})$ of all output faces. This is the first optimal algorithm since the problem was first studied more than three decades ago [Edelsbrunner, Guibas, and Sharir, SoCG 1988].
翻译:给定平面上的一组 $m$ 个点和一组 $n$ 条直线,我们考虑计算这些直线排列中包含至少一个点的面的问题。本文提出一种时间复杂度为 $O(m^{2/3}n^{2/3}+(n+m)\log n)$ 的算法来解决该问题。我们还证明该算法在代数判定树模型下达到了下界,因此是最优的。特别地,当 $m=n$ 时,运行时间为 $O(n^{4/3})$,这与所有输出面的最坏情况组合复杂度 $Ω(n^{4/3})$ 相匹配。自该问题于三十多年前首次被研究以来 [Edelsbrunner, Guibas, and Sharir, SoCG 1988],这是首个最优算法。