Abstract 1 Introduction 2 The case of a square grid 3 The case of a rectangular grid 4 Range Reporting for Point Sets of Bounded Spread References

Incidences Between Curves and Points on the Grid

Esther Ezra ORCID Department of Computer Science, Bar Ilan University, Ramat-Gan, Israel Micha Sharir ORCID School of Computer Science, Tel Aviv University, Israel
Abstract

We derive an improved upper bound for the number of incidences between the n vertices of a uniform grid and m convex or concave curves, each pair of which intersect in at most s points, for some integer parameter s1. For a square grid, our bound is

O(n2/3m2/3+m113sns+13s+m+n).

This improves a general bound of O(mn1/3) on the number of incidences with respect to vertices of a grid and convex or concave curves.

For a rectangular grid, which fits inside a 1×K rectangle, for some integer K>1 (which generally may depend on n), the bound also depends on how large K is. The precise result is stated in Theorem 2, but, roughly, we get the same bound as above when K is not too large.

Our analysis competes with a celebrated result of Bombieri and Pila [6], which gives (usually) a sharper bound if we assume that the input curves are algebraic of constant degree and the input points are vertices of the square grid. However, the analysis in [6] strongly relies on these assumptions, and cannot be extended to handle the more general setup considered here.

As a main application, of independent interest, we present a variant of our technique for semi-algebraic range reporting on sets of points of “bounded spread” in the plane.

Keywords and phrases:
Geometric incidences, uniform grid, bounded spread, Pick’s theorem, range searching
Funding:
Esther Ezra: Work has been partially supported by Israel Science Foundation Grant 800/22 and Binational Science Foundation Grant 2022/131.
Micha Sharir: Work has been partially supported by Israel Science Foundation Grant 495/23.
Copyright and License:
[Uncaptioned image] © Esther Ezra and Micha Sharir; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation
; Theory of computation Computational geometry
Editors:
Ho-Lin Chen, Wing-Kai Hon, and Meng-Tsung Tsai

1 Introduction

Let P be a set of n points in the plane, and let Γ be a set of m arbitrary curves from some fixed family of curves (e.g., lines, parabolas, circles, etc.). Let I(P,Γ) denote the number of incidences between the points of P and the curves of Γ, that is, I(P,Γ)=|{(p,γ)|pP,γΓ,pγ}|. We denote by I(n,m) the maximum of I(P,Γ), taken over all sets P of n points and sets Γ of m curves from the given family, implicit in this notation. The incidence problem is to bound I(n,m). This problem has been studied extensively for more than four decades; see below.

Background.

The simplest formulation of the incidence problem involves incidences between points and lines in the plane, where Szemerédi and Trotter [14] showed an upper bound of O(n2/3m2/3+n+m), which is tight in the worst case [7] (see also [13, Chapter 1] and [11] for an overview of this and other results).

For more general settings, the work of Sharir and Zahl [12] yields the following best known upper bound for I(P,Γ), for arbitrary sets P of n points and Γ of m algebraic curves with t degrees of freedom, that is, the number of real parameters needed to specify a curve of Γ. The parameter t is also referred to as the parametric dimension of Γ. In this case the bound is

I(P,Γ)=O(n2/3m2/3+n2t5t4m5t65t4+m+n), (1)

where the O() notation hides subpolynomial factors. See also the earlier works [5, 3, 10] for the case of curves with t=3, such as circles or parabolas. Combined with the very recent result of Janzer et al. [8], these results yield the following slightly improved bound (with no subpolynomial factors):

I(P,Γ)=O(n2/3m2/3+n6/11m9/11+m+n). (2)

An early celebrated work of Bombieri and Pila [6] has studied the case where the points of P form the vertex set of a n×n integer lattice (or grid, as we call it in this work), and each curve in Γ is an irreducible algebraic curve of degree d. They have shown, using a fairly involved algebraic analysis, that each such curve γΓ contains at most O(n1/(2d)) lattice points, leading to an upper bound of O(mn1/(2d)) on the number of incidences involving m such curves.

The analysis in [6] (as well as the more general case studied in [12] for arbitrary point sets) strongly relies on the algebraic structure of the input curves. If, however, the curves are not necessarily algebraic, but merely have a “well behaved” structure, then the analysis in [6] (and [12]) no longer applies in general. Specifically, we are interested in settings where the only assumptions are that each curve in Γ consists of O(1) strictly convex or concave portions, and each pair of these curves intersect in at most s points, where s>0 is a constant integer parameter. In such a case the best bound we are aware of is O(mn1/3). This bound is mentioned in [13, Chapter 3], and, for the sake of completeness, we present below, in Section 3 (see Proposition 4), a full analysis that derives this bound, in a somewhat more general setup. The O(mn1/3) bound is somewhat weak, since it does not depend on s, and it is also linear in m, so it tends to be large when |Γ| is large. Our main goal in this paper is to obtain an improved incidence bound for arbitrary curves that satisfy the assumptions made above, and for points that lie on a square grid (as above), or, more generally, on a rectangular grid (which turns out to be a considerably more challenging problem).

Our results.

In this work we significantly improve the “default” bound in Proposition 4 for the case where each pair of curves in Γ intersect in at most s points, for some constant integer parameter s>0. We also allow the curves in Γ to contain line segments, and therefore weaken the assumption of strict convexity (or concavity). (This extension is essentially trivial, in view of the Szemerédi-Trotter bound [14].) We then obtain, in Section 2, the following bound for the case of a square grid:

Theorem 1.

Let P be the set of the n vertices of the n×n grid, and let Γ be a collection of m curves, each of which consists of a constant number of convex and concave pieces, and every pair of which intersect in at most s>0 points, for a constant integer parameter s. Then the number of incidences between P and Γ is

I(P,Γ)=O(n2/3m2/3+ns+13sm113s+m+n).

In particular, one can easily verify that the bound in Theorem 1 is O(n2/3m2/3+m+n) for pseudo-lines (curves with s=1), and O(n2/3m2/3+n1/2m5/6+m+n) for pseudo-parabolas or pseudo-circle (curves with s=2), under the assumption that each curve can be decomposed into a constant number of convex/concave pieces. We comment that the bound in this theorem is worst-case tight for parabolas, using a construction inspired by Elekes (see, e.g., [13, Chapter 1]), but it requires a rectangular grid, which is the case we study in Section 3. In this latter section we assume that the points of P are the vertices of a (n/K)×nK uniform grid, for some parameter 1<Kn (this parameter is also referred to as the “aspect ratio” of P). For this setting, we present a more involved analysis, where we show:

Theorem 2.

Let 1<Kn be an integer parameter (that may depend on n), and let P be the set of the n vertices of the n/K×nK uniform grid. Let Γ be a collection of m curves, each of which consists of a constant number of convex and concave pieces, and every pair of which intersect in at most s>0 points, for some constant integer parameter s. Then the number of incidences between P and Γ satisfies the following bounds.

  1. (i)

    When K(ns+1m)13s, we have

    I(P,Γ)=O(n2/3m2/3+ns+13sm113slogn+m+n).
  2. (ii)

    When (ns+1m)13s<K<n1/3 (which can only happen when mn), we have

    I(P,Γ)=O(n2/3m2/3+n+Kmlogn).
  3. (iii)

    When Kn1/3, we have

    I(P,Γ)=O(n2/3m2/3+n+mn1/3).

Note that case (i) in Theorem 2 essentially extends the bound in Theorem 1 to “nearly” square grids, whereas case (iii) implies that the bound is similar to the standard one (stated in Proposition 4), if the aspect ratio of the grid is relatively “large”. The logarithmic factors in (i) and (ii) are artifacts of our analysis, and we believe that they can be removed with a more refined analysis.

Our proof technique is mainly combinatorial (i.e., avoids any algebraic considerations, which are irrelevant in our setup), and consists of two major ingredients: (i) A Turán-type bound [9] that is exploited as a black box (see Section 2 for more details), and (ii) a construction inspired by the “curvature-based” approach of Afshani and Cheng [1], who established an upper bound for the cost of semi-algebraic range reporting for planar semi-algebraic regions of constant complexity and points uniformly distributed in the unit square. We adapt, in a nontrivial manner, their machinery to derive incidence bounds for the case of point sets on a uniform grid, as specified in Theorems 1 and 2.

On the algorithmic front, following the analysis in [1], we present a variant of our solution for the square grid setting, for semi-algebraic range searching for points of “bounded spread” and planar semi-algebraic regions of constant complexity. Specifically, the input consists of a set P of n points, and the spread of P, defined as maxp,qP|pq|/minp,qP|pq|, is Θ(n) (which is asymptotically the smallest possible). In particular, this assumption includes the case where each point of P lies close to a distinct grid vertex (of the n×n grid). The goal is to obtain a space-query tradeoff bound for (online) semi-algebraic range reporting for P, where the query ranges belong to a family of semi-algebraic regions of parametric dimension t (recall that t is the number of parameters needed to specify a range in ). That is, for each query range, we want to efficiently report all the input points that lie in that range. In Section 4 we adapt the machinery in [1] and show:

Theorem 3.

Let P be a set of n points in the plane with Θ(n) spread, and let be a family of semi-algebraic ranges of parametric dimension t.111We emphasize that the query ranges are not given in advance, but they are all defined by a fixed constant-complexity semi-algebraic predicate, with the t degrees of freedom as parameters. Then, for any value polylog(n)Qcn1/4, where c>0 is an appropriate absolute constant, we can construct a range reporting data structure for P, of size and preprocessing cost O(n2+ntQ3t4), which supports range reporting queries with regions from , in time O(Q+k) per query, where k is the output size.

The main difference between our setting and the one presented in [1] is that in the latter the points in P are randomly and uniformly drawn in the unit square U, which makes the estimation of the expected number of points contained inside an region enclosed within U fairly straightforward. On the other hand, when we only assume that P has a Θ(n) spread, this estimation becomes trickier and requires further considerations.

2 The case of a square grid

Let P be the set of vertices of a n×n uniform grid that fits within the unit square U=[0,1]×[0,1] (assume, without loss of generality, that n is a square). Let Γ be a set of m arbitrary curves in the plane with the following properties:

  1. (i)

    Each curve γΓ does not contain any line segment.

  2. (ii)

    Any pair of curves γ1,γ2Γ intersect in at most s points, for some constant integer parameter s>0. No pair of curves from Γ overlap.

  3. (iii)

    Each curve γΓ consists of O(1) strictly convex and/or strictly concave portions.

For example, the case s=1 corresponds to collections of pseudo-lines (that is, collections of unbounded Jordan curves, each pair of which intersect at most once ), and the case s=2 corresponds to collections of pseudo-parabolas (collections as above, where each pair intersect at most twice) or pseudo-circles (defined similarly to pseudo-parabolas, but the Jordan curves are closed), where we also require that these curves satisfy properties (i) and (iii).

In this section we derive an improved upper bound on the number I(P,Γ) of incidences between the points of P and the curves of Γ. We comment that property (iii) is essential for the analysis, but property (i) can be discarded by applying the point-line incidence bound in [14] to the straight portions of the curves. Specifically, we can extend property (iii), so that each curve consists of at most O(1) line segments (in addition to the O(1) strictly convex/concave portions), so the total additional contribution to the incidence bound in this case is O(n2/3m2/3+n+m). This bound can then be added to our bound on I(P,Γ).

Our technique differs from the approach of Bombieri and Pila [6], who have studied the case where the curves of Γ are algebraic of constant degree, and derived a (generally) stronger bound for this case. Their work strongly relies on the algebraicity property of the curves. In contrast, our setting is more general and does not make such an assumption. Informally, our analysis is combinatorial, rather than algebraic, as in [6].

As described in Section 1, our analysis is based on the curvature-based approach of [1]. In this approach, a curve γΓ is covered by “canonical” slabs of varying widths. The fact that the total absolute curvature of γ is relatively small allows us to control (i) the thickness and number of slabs, and, consequently (ii) the number of points in a slab. These canonical slabs induce a decomposition on P, where thin slabs contain a relatively small number of points from P (see our analysis below for the specific bounds). Given this property, we apply a Turán-type incidence bound within each canonical slab, which eventually yields the incidence bound stated in Theorem 1 – see below.

The construction.

Our analysis uses the following construction inspired by [1]. Let 1rn be an integer parameter, which we will set later. We partition the unit square U into a uniform r×r grid G. As a result, we obtain a partition of P into r2 subsets, each confined to a grid cell τ of G, which has side length 1/r and contains O(n/r2) points of P. (Points on boundaries of cells of G are assigned arbitrarily to one of the neighboring cells, say, to either the lower or the left cell.) We then construct, for each cell τG, a family of canonical slabs, which we will use to cover the portions γτ of the curves γΓ that cross τ. The construction of these slabs proceeds as follows. For i=0,,logr, fix the parameter αi=2i/r (which lies in [0,1]). We first partition τ into vertical interior-disjoint slabs of width αi/r=2i/r2 (and length 1/r); the number of these slabs is O(1/αi)=O(r/2i). We then create πr/2i rotated copies of the i-th partition, so that the j-th copy is a rotation of the vertical partition by the angle 2ij/r. The slabs within each rotated family are extended or shrunk to fit within τ, so their lengths vary between 0 and 2/r. Let Σi be the collection of these canonical slabs, for a fixed i, over all cells τG (and all rotations). We refer to the slabs in Σi as slabs of type i, or as i-slabs for short. We repeat the above construction for each i=0,,logr, and denote by Σ the union iΣi. Put Li=|Σi|. By the above construction, Li is the number of grid cells, which is r2, times the number of i-slabs in a cell, which is O((r/2i)(1/αi))=O(r2/22i); that is, we have Li=O(r4/22i).

Within each slab σΣ we bound the number of incidences between the points of Pσ and a certain subfamily of the curves γΓ that intersect σ (see below for the precise definition). In order to do so, we need (i) to estimate |Pσ|, and (ii) to construct, for each γΓ, a small-sized set of slabs in Σ that cover γ. Each slab σ interacts with all the curves that use σ for their cover – see below.

Bounding the number of points in a slab.

Beginning with task (i), we apply Pick’s theorem (see [4]), which measures the area of a nondegenerate simple polygon Q with vertices on the unit grid, in terms of the number of grid points that it contains. Specifically, let μ(Q) be the area of Q, let I (resp., B) be the number of points of P in the interior (resp., on the boundary) of Q. Then Pick’s theorem asserts that μ(Q)=I+B/21. In our case, each coordinate is shrunk by n, so, for a nondegenerate simple polygon Q with vertices on P (which is the shrunk n×n grid), we have nμ(Q)=I+B/21, implying that

|PQ|=I+B2nμ(Q)+2.

Let σΣ be a canonical i-slab. Replace σ by the convex hull C(σ)σ of Pσ. 222We apply this replacement since the vertices of σ do not necessarily belong to P, and this property is necessary in order to apply Pick’s theorem. Then

|Pσ|=|PC(σ)|2nμ(C(σ))+22nμ(σ)+2=O(nαi/r2)=O(2in/r3).

The additive term 2 is subsumed in this bound as long as r is not too large and i is not too small. When the bound O(2in/r3) is smaller than 1, we get |Pσ|=O(1). Nevertheless, in this case too we will use the bound O(2in/r3), with some care, and explain later why this does not cause any problems. We also note that this bound holds as long as Pσ is not a collinear set of points (which is the case when μ(C(σ))=0). Degenerate situations of this kind will be handled separately, in a rather simple manner – see below.

Covering a curve by canonical slabs.

For task (ii), we follow a variant of the analysis in [1]. Let γ be a curve in Γ. We may assume that γ is (strictly) convex or (strictly) concave, and is both x-monotone and y-monotone; otherwise, by property (iii) we can partition γ into O(1) pieces of this kind. The turning angle θ(γ) of a connected portion γ of γ is the difference |θ2θ1| between the orientations θ1, θ2 of the tangents to γ at its endpoints. Because of convexity, the tangent orientations always increase or always decrease along γ, so the orientation of every tangent to γ, as well as that of the chord connecting the endpoints of γ, lies between θ1 and θ2. See Figure 1.

Figure 1: A concave curve γ and the orientations θ1, θ2 at its endpoints, as well as the orientation θ of its chord.

Now let τ be a cell of G that γ crosses. By our assumptions, the intersection γ=γτ is a single connected component of γ. Let θ denote the turning angle of γ. As is easily checked, γ can be enclosed in a (not necessarily canonical) slab σ of width cθ/r, for some absolute constant c. Let i be the index such that 2i1/rθ<2i/r. When θ<1/(2r) we still use the index 0 (see below), and we may assume that θ1; otherwise break γ further into O(1) pieces that satisfy this property.

Then, as is easily checked, σ can be enclosed in the union of O(1) canonical i-slabs. See also [1, Lemma 30] for a similar property. This is illustrated in Figure 2. (Note that γ might end inside a cell, but this does not harm the analysis.)

Figure 2: A curve γ and the (non-canonical) slab σ enclosing it (the shaded polygon) are covered by two canonical slabs (the red and blue polygons).

Fix an index i, and let Γi denote the collection of all the arcs γ=γτ, over the curves γΓ and the cells τ of G, for which 2i1/rθ(γ)<2i/r. Since each piece in Γi consumes at least 2i1/r of the turning angle of the containing curve γ, the number of pieces of γ in Γi is at most O(r/2i). For pieces γ with θ(γ)<1/(2r) (which are left out of the preceding analysis), the x-monotonicity itself implies that γ crosses at most O(r) cells of G, allowing us to extend the first range to [0,1/r). That is, we have shown that each curve γΓ contributes O(r/2i) pieces to Γi, and each such piece can be covered by O(1) (canonical) i-slabs.

Fix an i-slab σ, let P(σ)=Pσ, and Γi(σ) be the set of the portions within σ of the curves of Γ that use σ in their cover (so their turning angles within the cell of G that contains σ lie in [2i1/r,2i/r), or in [0,1/r) for i=0). As shown earlier, assuming P(σ) is not collinear,

nσ:=|P(σ)|=O(nαi/r2)=O(2in/r3). (3)

Put mσ=|Γi(σ)|, and observe that, summing over all i-slabs,

σΣimσ=O(mr/2i). (4)

(This is because each covering slab “consumes” Ω(2i/r) of the turning angle of the curve.) We now apply an incidence bound to P(σ) and Γi(σ), using the following considerations. Assume first that P(σ) is not collinear. In such a case, we apply a moderate incidence bound using a Turán-type bound. Specifically, since each pair of curves in Γ intersect in at most s points, it follows that the incidence graph of P(σ) and Γi(σ) (and, in general, also the incidence graph of P and Γ) does not contain any copy of Ks+1,2. Therefore, by a result of Kövari, Sós and Turán [9], it follows that

I(P(σ),Γi(σ)) =O(nσmσ11/(s+1)+mσ),and (5)
I(P(σ),Γi(σ)) =O(mσnσ1/2+nσ), (6)

where the left-hand side is the number of edges in this incidence graph. In what follows, and unless stated otherwise, we will mostly be using the bound in (5).

If P(σ) is collinear then, since we have assumed that Γ does not contain any line segments, each arc of Γi(σ) can have at most two incidences with P(σ) (since each such arc is strictly convex/concave, it must intersect any line in at most two points), for a total of at most 2mσ incidences, which is subsumed in the above bound. In addition, if the bound in (3) on nσ is smaller than 1, the actual value of nσ is O(1), in which case

I(P(σ),Γi(σ))=O(|Γi(σ)|)=O(mσ),

which is again subsumed in the above bound. Hence there is no harm if we use (with some care – see below) the bound in (3), even when it is smaller than 1. Letting Γi denote the collection σΣiΓi(σ), and summing this bound over all i-slabs σ, we thus obtain

I(P,Γi)=σΣiI(P(σ),Γi(σ))=O(nσ,maxσΣimσ11/(s+1)+σΣimσ),

where nσ,max is the upper bound in (3). The following calculations handle slabs σ for which this bound is 1. Slabs for which this bound is smaller than 1 are handled in a much simpler manner – see below. Next, using Hölder’s inequality, we obtain

I(P,Γi) =O(nσ,maxσΣimσ11s+1+σΣimσ) (7)
=O(nσ,max(σΣimσ)11s+1Li1s+1+σΣimσ). (8)

Recall that we have σΣimσ=O(mr/2i), nσ,max=O(2in/r3) (where we assume for now that this bound is 1), and Li=O(r4/22i). Substituting these bounds in the above inequality, we obtain:

I(P,Γi)=O(2inr3(mr2i)11/(s+1)(r422i)1/(s+1)+mr2i)=O(nm11/(s+1)r23/(s+1)2i/(s+1)+mr2i).

We sum these bounds over the O(logr) values of i for which 2ir3/n (i.e., nσ,max1). Since i appears only in the denominators, we obtain decreasing geometric sums, which we can bound by their leading terms. We therefore obtain the incidence bound O(nm11/(s+1)r23/(s+1)+mr).

For i satisfying 2i<r3/n (note that there is no such i when rn1/3), the bound per slab is, as argued above, just O(mσ), and the sum of these bounds is just O(mr/2i), which, when summed over i, is just O(mr). That is, we have I(P,Γ)=O(nm11/(s+1)r23/(s+1)+mr).

We balance these terms by choosing

r=ns+13sm13s=(ns+1m)1/3s.

For this choice to make sense, we need to require that 1rn1/2. When r (in the above expression) is smaller than 1, we replace it by 1, and when r>n1/2, we replace it by n1/2. In the former case the first term decreases and the second term increases (and thus dominates the first term), so the bound becomes O(m). In the latter case we have the relation r>n1/2, which implies that ns+1/m>n3s/2, which is easily seen to be impossible for any s2 (unless m and n are constants). When s=1 (the case of pseudo-lines), this inequality implies that m is at most O(n). In this particular case, we apply the bound in (6) on the number of incidences, from which we obtain I(P,Γ)=O(mn1/2+n)=O(n). We have thus shown:

I(P,Γ)=O(m113sns+13s+m+n). (9)

Recall our discussion earlier in this section, where we also consider the case where property (i) does not hold for Γ, and, as a result, need to add O(n2/3m2/3+n+m) to the bound. (When no line segments are allowed, we only get the bound in (9).) This completes the proof of Theorem 1.

3 The case of a rectangular grid

Problem statement.

Let P be the set of n vertices of a uniform grid drawn within the rectangle R=[0,1]×[0,K], for some integer 1<Kn (which may depend on n), and assume, without loss of generality, that n/K is an integer. We now construct a n/K×nK uniform grid within R, so each of its cells is a square of side length K/n. Let Γ be a set of m curves satisfying properties (i)–(iii) of Section 2.

In this section we extend the analysis in the preceding section, to derive an improved upper bound on I(P,Γ). Somewhat surprisingly, the analysis gets considerably more complicated in this case.

We begin with the following well-known property (see, e.g., [13]). For the sake of completeness, we present a proof that also holds for rectangular grids.

Proposition 4.
  1. (a)

    An arbitrary strictly convex (or concave) curve can be incident to at most O(n1/3) vertices of a square or rectangular uniform grid with a total of n vertices. The same bound holds for a curve that consists of O(1) strictly convex and concave pieces.

  2. (b)

    The bound is worst-case tight for a parabola in an n1/3×n2/3 grid.

Proof.

  1. (a)

    Assume that the grid is a k× grid, with k=n. Without loss of generality, we may assume that the given curve γ is strictly convex and is both x- and y-monotone, and replace it by the polygonal convex curve γ1 that connects the grid points on γ in a left-to-right order. An edge of γ1 may contain many grid points, but we only consider the two extreme ones, because, by assumption, none of the interior points lies on γ. The vector along each edge of γ1 is of the form (Δx,Δy), where Δx[1,k1] and Δy[1,1]. Fix two parameters u, v, whose values will be set later. An edge e of γ1 is long if either Δxu or Δyv, and short otherwise. Since each long edge advances by at least u columns to the right, or by at least v rows upwards, the number of long edges is at most ku+v. For short edges, their slopes are of the form ΔyΔx, for Δx[1,u1], Δy[1,v1]. The number of such slopes is at most uv, and because γ is strictly convex, the slopes of its edges are all distinct, implying that the number of short edges is at most uv.

    We now set u and v to satisfy ku=v=uv. The solution of these equations is u=k2/31/3 and v=2/3k1/3. Hence the number of grid points on γ is O(uv)=O(k1/31/3)=O(n1/3).

    Note that this analysis holds when k and k. When, say, k<, the claim is trivial, as the grid has at most n1/3 columns. A symmetric argument applies when <k. If γ consists of O(1) strictly convex or concave pieces, we apply the preceding analysis to each piece separately. This completes the proof of (a).

  2. (b)

    The parabola y=x2 passes through n1/3 vertices of the n1/3×n2/3 grid.

The modified construction.

We use the following modification of the earlier construction. While several parts of the analysis are similar, there are quite a few additional or different details that need to be worked out, to justify some overlap in the presentations. Let 1rn/K be an integer parameter, which we will set later.333We will actually be using several different values of r; see below. We partition R into an r×rK uniform grid G, which yields a partition of P into r2K subsets, each confined to a grid cell τ of G, each of which has side length 1/r and contains O(n/(r2K)) points of P. As in Section 2, we then construct, for each cell τG, a family of canonical slabs, which we will use to cover the portions γτ of the curves γΓ that cross τ. The slabs are now of two kinds. The first family of slabs, which we refer to as Σ(1), is similar to the one constructed earlier for square grids, but with some nontrivial modifications (see below for details). The second family, denoted by Σ(2) (see below for the definition) is of a new, narrower kind of slabs, and most of this section analyzes the structural behavior of these slabs, and presents several combinatorial properties that we exploit in order to bound the number of incidences that these slabs contribute. Having these properties, the actual derivation of the incidence bound is mainly technical. The analysis for Σ(1) is similar, but simpler; see below.

Generally speaking, the main difference between the setup here and the previous setup is that curves can cross a potentially larger number of cells of G, up to Θ(rK) of them, and this amount can potentially increase the incidence bound if we only use slabs of Σ(1) (informally, these slabs are too wide for this setup). To address this issue, we apply two main modifications: (i) We partition the curves in Γ into subarcs, depending on their “steepness” (see below), and bound the number of incidences with respect to each of these portions separately. (ii) We use a second family, namely Σ(2), of narrower slabs, which were not needed in the case of a square grid. We first introduce the structure of these curves and of the narrower slabs, and discuss the interaction between them, and then present the analysis for the total incidence bound.

Steepness and flatness.

Consider a curve γΓ that crosses tr cells of G, for some t>2; note that no such curves arose in the case of square grids (after having split each of them into monotone (strictly) convex/concave pieces). As in Section 2, we may assume that γ is (strictly) convex or concave and is both x-monotone and y-monotone; any curve in our family can be partitioned into O(1) such curves. For concreteness, assume that γ is concave (i.e., its tangents turn clockwise as we go up), and is the graph of an increasing function; all the other cases, where γ is convex and/or decreasing, are treated in a fully symmetric manner. Now let τ be a cell of G that γ crosses. The intersection γ=γτ is connected. We assign to γ the orientations θ1(γ)<θ2(γ), with respect to the y-axis, of the tangents to γ at its bottom and top endpoints, respectively, and put Δθ(γ)=θ2(γ)θ1(γ)>0.

The orientation of the chord that connects the endpoints of γ, as well as the orientations of all the tangents to γ, lie between θ1(γ) and θ2(γ). We define the steepness of γ as the (larger) orientation θ2(γ), and its flatness as Δθ(γ). Comparing to the analysis in Section 2, the flatness of a curve represents its turning angle (although we now consider much smaller values than those used in Section 2). The steepness is a new measure (that was not needed for the analysis in Section 2), whose role is to control the number of cells of G crossed by a curve (i.e., a subcurve with a given steepness).

We call γ a (q,j)-arc if its steepness θ2(γ) lies in [1/2j,1/2j1) and its flatness lies in [1/(2qr),1/(2q1r)), for suitable integer indices q and j. Only the case q1 is relevant; less flat curves can be handled by the wider slabs of Σ(1), and we treat them separately – see below. We assume that jlogK, ignoring steeper arcs (because steeper arcs do not cross more cells, namely more than O(rK) cells). The flatness parameter q, as just defined, determines the minimum width of a slab that can enclose γ, but nothing prevents us from using wider slabs, i.e., decrease the value of q. To emphasize the role of the minimum width, we denote the parameter q just defined as q (an intrinsic parameter of the arc), and refer to it as the true flatness parameter of the arc. See Figure 3 for an illustration.

Figure 3: A (q,j)-arc γ within a cell τ of G. Here θ212j, and θ2θ112qr. The width of the covering shaded slab is θ2θ1r=Δθ(γ)r12qr2.

Maximal 𝒋-steep subarcs.

We extend the notions of steepness and flatness to larger portions of the original curve γ. Concretely, assume, as above and with no loss of generality, that γ is concave and monotone increasing. Let θ<θ+ be the tangent orientations of γ (with respect to the y-axis) at its bottom and top endpoints, respectively. Let jj+ be the integers for which 12j+1θ<12j and 12j++1θ+<12j+. We then partition γ into arcs γj+,γj++1,,γj, so that the tangent orientations of each γj lie in [1/2j+1,1/2j), and refer to γj as a (maximal) j-steep subarc (or portion) of γ. The flatness of γj is the sum of the flatness of its subarcs of intersections with the grid cells of G that it crosses. The definition of steepness is easily seen to imply that γj crosses O(2jr) cells of G. Indeed, if we consider the chord connecting the bottom and top endpoints of γj, we obtain a line segment whose slope (with respect to the y-axis) lies in [1/2j+1,1/2j), so the y-coordinate of the difference between the endpoints of γj is at most O(2j), and dividing by 1/r we get the asserted bound on the number of cells.

We now form444For simplicity, and with no real effect on the analysis, we ignore here rounding issues. O(logK) families Γ0,,ΓlogK, where Γj consists of all maximal j-steep portions of curves from Γ, for j=0,,logK.555Note that this is slightly abusing the notation of Γi from Section 2, which has a different meaning. We slightly modify the definition of the first and last families Γ0, ΓlogK, so that Γ0 consists of all j-steep portions whose tangent orientations lie in the range [1,), and for ΓlogK this range is [0,1/K). As will follow, this modification does not harm our analysis. An important property of this partition is that the subfamilies Γj are independent of r, which will be crucial for the forthcoming analysis. In what follows, we bound the number of incidences with respect to each family Γj separately, and then sum up these bounds over all such families. We comment that the bounds that we will obtain will depend on r, and optimizing each of them will require a different choice of r. Handling this multitude of values of r requires some careful treatment; see below.

Narrow slabs.

Fix an index j=0,,logK, and consider a maximal j-steep subarc γΓj. Let τ be a cell that γ crosses. Clearly, the intersection γ=γτ is also j-steep (it may be even steeper). Let Δθ(γ) be the turning angle (flatness) of γ. Again refer to Figure 3. If Δθ(γ)1/r we can (that is, should) use slabs from Σ(1) to cover γ. Assume then that Δθ(γ)<1/r, and let q0 be the integer for which 1/(2q+1r)Δθ(γ)<1/(2qr) (so γ is a (q,j)-arc). Then we can cover γ by a (non-canonical) slab σ of width at least Δθ(γ)/r=O(1/(2qr2)) (see once again Figure 3). Note that we can use wider slabs to cover γ (the actual width will be determined in the forthcoming analysis).666There is a tradeoff in using wider slabs: their number is smaller but each of them contains more points. The analysis below will address this issue. Let q be the integer parameter for the actual slab that we want to use (so its width is Θ(1/(2qr2)), where qq). To cover σ by O(1) canonical slabs of this width, we need to use slabs rotated by multiples of the angle 1/(2qr). But since γ is j-steep in τ, the orientations that we need to use (with respect to the y-axis) span an angular range of at most O(1/2j), so the total number of rotations is O((1/2j)/(1/(2qr)))=O(2qjr). For each canonical orientation, the number of slabs at that orientation (within the current cell) is proportional to 1/r divided by the width, so it is O(2qr), for a total of O(22qjr2) (q,j)-slabs, as we call them, in a cell, i.e., a total number of

Lq,j=O(22qjr4K) (10)

(q,j)-slabs. We also refer to these slabs as q-slabs, when j is not important (not to be confused with i-slabs of Σ(1); see below and Section 2). We denote the family of these slabs as Σq,j(2), and denote their union, over all q, as Σj(2), and over all q and j, as Σ(2). We let Σ=Σ(1)Σ(2) denote the overall family of slabs.

 Remark 5.

Note that it is crucial to apply the partition of γ into maximal j-steep portions, which eventually reduces the total number of rotations from O(2qr) to O(2qjr). This yields a more refined bound on Lq,j, which we later exploit when deriving the overall incidence bound.

 Remark 6.

Again, we emphasize that the analysis depends on the flexibility to use wider slabs to cover a (q,j)-arc, so we distinguish between the true flatness parameter q of an arc and the actual parameter qq of the slabs that we use to cover the arc. In particular, the bound in (10) does not (explicitly) depend on the true flatness parameter q.

For technical reasons, we do not want to use too large a value for q (i.e., slabs that are too thin). Our actual choice is (recall that we must have qq)

q=min{2j,q}. (11)

Given a j-steep (portion of a) curve γΓj, the number of cells τ from G that it crosses is O(2jr), as argued above. Alternatively, each (q,j)-arc consumes Θ(1/(2qr)) of the turning angle (flatness) of γ, so γ crosses at most O((1/2j)/(1/(2qr)))=O(2qjr) cells of G (in which it behaves as a (q,j)-arc). Note that in this argument we have to use the true flatness parameter q. Hence the overall number of curve-slab interactions of this kind (that involve (q,j)-slabs and (q,j)-arcs) is

σ is a (q,j)-slabmσ=O(min{2j, 2qj}mr), (12)

where mσ is the number of (q,j)-arcs that use σ for their cover. See Figure 4.

Figure 4: The portion of the curve γ inside the grid cell τ is a (q,j)-arc, which can be covered by O(1) canonical (q,j)-slabs, for any qq; the figure illustrates one such slab by the shaded region.

Preparing for the incidence analysis.

As before, within each slab σΣ(2) we bound the number of incidences between the points of Pσ and the subfamily of the j-steep curves γΓj (for each j separately) that use σ for the cover of their portion within the cell of σ. In order to do so, we need, as before, (i) to estimate |Pσ|, and (ii) to construct, for each γΓj, a small-sized set Σ(2)(γ) of (canonical) slabs in Σ(2) that cover γ. Slabs in Σ(1) are handled in a simpler manner, similar to Section 2; see below. Task (ii) has already been addressed, so we mostly consider task (i), and briefly summarize (ii) afterwards.

Bounding the number of points in a slab.

We apply Pick’s theorem, as in Section 2, which now implies that, for a nondegenerate polygonal region Q whose vertices are grid points777Here the scaling of the area is, as it should be, by n/K. nKμ(Q)=I+B/21, so, as long as PQ is not a collinear set of points,

|PQ|=I+B2nKμ(Q)+2.
  1. (i)

    Let σΣ(1) be a canonical i-slab. Replace σ by the convex hull C(σ)σ of Pσ. We then have

    |Pσ|=|PC(σ)|2nKμ(C(σ))+22nKμ(σ)+2=O(nαir2K)=O(2inr3K). (13)
  2. (ii)

    For a (q,j)-slab σΣ(2), the same reasoning gives

    |Pσ|=O(nK12qr3)=O(n2qr3K). (14)

Again, here q refers (naturally) to the thickness of the actual slab and not to the true flatness parameter q of any arc that uses the slab for its cover. These bounds hold as long as Pσ is not collinear, and provided that they are at least 1. Degenerate situations, when one of these assumptions does not hold, are handled as in Section 2. That is, if Pσ is collinear then σ contributes at most 2mσ incidences, and the term O(mσ) in our bound takes care of this case too. Similarly, as in Section 2, when the bound on |Pσ| in (13) or (14) is smaller than 1, we take the bound to be O(1) instead. This does not violate the analysis (although some care is needed), as the bound that we derive subsumes the incident count in these cases – see below.

Covering a curve with canonical slabs.

For task (ii), we just summarize the preceding analysis, which shows that the number of cells τ for which γ is j-steep and q-flat is O(min{2j,2qj}r). Hence, the overall number of curve-slab interactions, for (q,j)-slabs in Σj(2) and (q,j)-arcs, for qq, is O(min{2j,2qj}mr).

Incidences within slabs of 𝚺(𝟏).

The analysis involving slabs of Σ(1) is similar to that in Section 2, although some steps of the analysis need to be adjusted to the rectangular setup. Here the width of a slab is associated with the index i (used in Section 2), which replaces the index q used above. The analysis that we present below is a refinement of the analysis in Section 2, where we consider the interaction of i-slabs with j-steep curves. This refinement was not needed in Section 2, but is needed here due to the fact that a curve γΓ may cross r cells of G, as mentioned above.

Let γΓj be a maximal j-steep curve, and let γ=γτ. We assume Δθ(γ)1/r (otherwise we use slabs of Σ(2) to cover γ), and let i0 be the integer for which 2i1/rΔθ(γ)<2i/r. Analogously to the notation and definitions used above, we say that γ is an (i,j)-arc. Then we can cover γ by a (non-canonical) slab σ of width at least Δθ(γ)/r=O(2i/r2). As above, we can cover σ by O(1) canonical slabs of this width, which are rotated by multiples of the angle 2i1/r. But since γ is j-steep in τ, the orientations that we actually use (with respect to the y-axis) span an angular range of at most O(1/2j), so the total number of rotations in this case is O((1/2j)/(2i/r))=O(r/2i+j). For each canonical orientation, the number of slabs at that orientation (within the current cell) is proportional to 1/r divided by the width, so it is O(r/2i), for a total of O(r2/22i+j) (i,j)-slabs in a cell (this is a refinement of the definition of i-slabs from Section 2), i.e., a total number of

Li,j=O(r4K/22i+j) (15)

(i,j)-slabs. We denote the family of these slabs as Σi,j(1), and denote their union, over all i, as Σj(1), and over all i and j, as Σ(1).

Fix an (i,j)-slab σ, let P(σ)=Pσ, and Γi,j(σ) be the set of curves of Γj that use σ in their cover (so their turning angles within the cell of G that contains σ lie in [2i1/r,2i/r)). Let Γi,j denote the collection, over all j-steep curves γΓj and (i,j)-slabs σ, of the portions γσ that use σ for their cover. That is, Γi,j=σΣi,j(1)Γi,j(σ). As shown earlier, when Pσ is nondegenerate, we have in general

nσ:=|P(σ)|=O(nαir2K)=O(2inr3K); (16)

the cases where either Pσ is collinear, or where the bound in (16) is smaller than 1, are handled as before, namely the incidence bound is O(mσ) in both cases, where mσ=|Γi,j(σ)|. We next bound, for a j-steep curve γΓj, the number of cells τ that it crosses. Each (i,j)-arc of γ consumes Θ(2i/r) of the turning angle (flatness) of γ, and since γ is j-steep it crosses at most O((1/2j)/(2i/r))=O(r/2i+j) cells of G, in which it behaves as an (i,j)-arc. Hence the overall number of curve-slab interactions that involve (i,j)-slabs and (i,j)-arcs is888Here there is no need to use wider slabs, as in the case of Σ(2).

σ is an (i,j)-slabmσ=O(mr2i+j). (17)

We now apply the incidence bound (5) to P(σ) and Γi,j(σ), and obtain

I(P(σ),Γi,j(σ))=O(nσmσ11/(s+1)+mσ).

Recall that Γi,j=σΣi,j(1)Γi,j(σ). By summing this bound over all (i,j)-slabs σ, we obtain

I(P,Γi,j)=σΣi,j(1)I(P(σ),Γi,j(σ))=O(nσ,maxσΣi,j(1)mσ11/(s+1)+σΣi,j(1)mσ),

where nσ,max is the upper bound in (16) (assuming it to be 1). Next, using Hölder’s inequality, we obtain

I(P,Γi,j) =O(nσ,maxσΣi,j(1)mσ11/(s+1)+σΣi,j(1)mσ)
=O(nσ,max(σΣi,j(1)mσ)11/(s+1)Li,j1/(s+1)+σΣi,j(1)mσ).

Recall that we have σΣi,j(1)mσ=O(mr/2i+j), nσ,max=max{O(2in/(r3K)), 1} over σΣi,j(1), and Li,j=O(r4K/22i+j). Substituting these bounds in the above inequality, we obtain

I(P,Γi,j) =O(2inr3K(mr2i+j)11/(s+1)(r4K22i+j)1/(s+1)+mr2i+j)
=O(nm11/(s+1)Ks/(s+1)r23/(s+1)2i/(s+1)2j+mr2i2j).

We sum these bounds over the O(logr) values of i. Since i appears only in the denominators, we obtain decreasing geometric sums, which we can bound by their leading terms, in which 2i=1. Denoting by I1(P,Γj) the number of incidences within slabs of Σj(1), we therefore obtain

I1(P,Γj)=O(nm11/(s+1)Ks/(s+1)r23/(s+1)2j+mr2j). (18)

Incidences within slabs of 𝚺(𝟐).

Consider next incidences within slabs σΣj(2), for a fixed index j. Let γΓj be a j-steep curve for which we need to use slabs of Σj(2). To simplify the analysis, and with no loss of generality, assume that (i) γ is concave and monotone increasing, and (ii) γ enters G through its bottom edge and leaves G through its right or top edge, after having crossed tr cells of G, for some 2<tK+1.

Let τ be a cell of G that γ crosses. We use the notations introduced earlier concerning the steepness and flatness of γ=γτ, and let j and q be the parameters for which γ is a (q,j)-arc. (As already noted, γ may be steeper within τ, but we will, as we can, use the same steepness index j for γ too.) As argued, γ can be enclosed by O(1) canonical (q,j)-slabs, for any qq.

Recalling the bounds in (10), (12), and (14), the overall number of (q,j)-slabs is Lq,j=O(22qjr4K), the number of points in a q-slab is nσ=O(n2qr3K) (assuming that this bound is 1), and

σ is a slabcovering a (q,j)-arcmσ=O(min{2j, 2qj}mr).

Let Γq,j(σ) denote the set of (q,j)-arcs that use σ for their cover (so mσ=|Γq,j(σ)|). Again, we may assume that P(σ) is not a collinear set of points, otherwise, the number of incidences is at most 2mσ, as argued in Section 2. We also recall that the bound O(mσ) takes care of incidences within slabs σ for which the bound on nσ is smaller than 1. Thus, we can now apply the incidence bound (5) to P(σ) and Γq,j(σ), and obtain

I(P(σ),Γq,j(σ))=O(nσmσ11/(s+1)+mσ).

Hence, fixing q, denoting by Γq,j the collection of all (q,j)-arcs, and summing the above bound over the set Σq,q,j(2) of all (q,j)-slabs σ that are used to cover (q,j)-arcs, for any (fixed) qq, we obtain:

Iq(P,Γq,j)=σΣq,q,j(2)I(P(σ),Γq,j(σ))=O(nσ,maxσΣq,q,j(2)mσ11/(s+1)+σΣq,q,j(2)mσ),

where Iq refers to incidences within q-slabs, and where, as before, in the first sum we replace the uniformly bounded quantities nσ by their upper bound nσ,max=O(n/(2qr3K)) (assuming that this expression is 1), over all σΣq,q,j(2). Next, using Hölder’s inequality, we obtain

Iq(P,Γq,j) =O(nσ,maxσΣq,q,j(2)mσ11/(s+1)+σΣq,q,j(2)mσ)
=O(nσ,max(σΣq,q,j(2)mσ)11/(s+1)Lq,j1/(s+1)+σΣq,q,j(2)mσ). (19)

We substitute σΣq,q,j(2)mσ=O(min{2j, 2qj}mr), nσ,max=O(n/(2qr3K)) (assuming this bound to be Ω(1)), and Lq,j=O(22qjr4K) in (3). We bifurcate according to whether q2j, and then write 2j for min{2j, 2qj}, or q2j, and then write 2qj for that expression.

When q2j we obtain

Iq(P,Γq,j) =O(n/(2qr3K)(2jmr)11/(s+1)(22qjr4K)1/(s+1)+2jmr)
=O(nm11/(s+1)2qj2q2js+1K11/(s+1)r23/(s+1)+2jmr). (20)

When q2j we obtain

Iq(P,Γq,j) =O(n/(2qr3K)(2qjmr)11/(s+1)(22qjr4K)1/(s+1)+2qjmr)
=O(nm11/(s+1)2j+q2q/(s+1)qs/(s+1)K11/(s+1)r23/(s+1)+2qjmr). (21)

In the former case, when q2j we take q=2j, so the bound in (3) becomes

O(nm11/(s+1)2j2j/(s+1)K11/(s+1)r23/(s+1)+2jmr).

In the latter case, when q2j we take q=q, observe that qjj, and conclude that the bound in (3) becomes
O(nm11/(s+1)2jq/(s+1)K11/(s+1)r23/(s+1)+2jmr)=O(nm11/(s+1)2j2j/(s+1)K11/(s+1)r23/(s+1)+2jmr).

That is, both expressions in (3) and (3) can be bounded by

Iq(P,Γq,j)=O(nm11/(s+1)2j2j/(s+1)K11/(s+1)r23/(s+1)+2jmr). (22)

(Note that this bound is independent of q.) It is easy to verify that the bound in (22) dominates the bound (18) for the number of incidences within slabs of Σj(1) (for the same j). So we now continue the analysis using the bound (22).

We next choose r to balance the two terms. That is, for j fixed,

r=rj=ns+13sm13s(22jK)1/3. (23)

Before continuing, we note that we have O(logK) different values of r=rj, which implies that we need to construct a different grid G for every family Γj. This, however, does not harm the analysis, since, as already noted, the families Γj are independent of r.

For each j=0,,logK, for the choice of r=rj in (23) to make sense, we require that 1rjn/K. When rj<1 we replace it by 1, and when rj>n/K we replace it by n/K. Since the values of rj form a geometric decreasing sequence, the requirement 1rjn/K for each j=0,,logK holds iff rlogK1 and r0n/K. So it suffices to consider the extreme cases rlogK<1 and r0>n/K.

Consider first the case r=rlogK<1. This constraint is:

1K(ns+1m)13s<1,orK>(ns+1m)13s. (24)

Replacing r by 1 makes the second term in (22) dominate the first term. Hence, the incidence bound becomes Iq(P,Γq,j)=O(2jm) in this case. Then, summing up over all O(log2K) pairs (q,j) (recall that jlogK and q2j), we obtain a total incidence bound of O(KmlogK). We comment, however, that when K exceeds n1/3, we use instead the general bound in Proposition 4, which implies that the number of incidences is O(mn1/3). (The lower bound in (24) exceeds n1/3 when mn.)

Suppose next that r=r0 exceeds n/K. This implies that

K1/6>m13sn12s+13s=m13sns26s,orK>m2/sn(s2)/s.

Since we only consider the case Kn1/3, this implies that m<n1s/3, which is impossible when s3 (unless m and n are constants), and becomes m<n1/3 when s=2, and m<n2/3 when s=1. In these two latter cases we apply the general bound O(mn1/3) in Proposition 4, which in these cases is at most O(n). Note that these are global bounds that do not depend on the type of the slabs in (Σ(1) or Σ(2)).

In the remaining range, i.e., for 1r=rjn/K, we reason as follows. Due to the choice in (23), and using (22), the bound simply becomes
Iq(P,Γq,j)=O(2jmr)=O(2j(n(s+1)/(3s)m11/(3s))(22jK)1/3)=O((2j/3n(s+1)/(3s)m11/(3s))K1/3).

We next sum up this bound over all O(log2K) pairs (q,j), and obtain (recall that the actual sum is over all (q,j)-slabs σ in Σq,q,j(2), and thus the actual summation does not depend explicitly on q):

I2(P,Γ)=O(q,j(2j/3n(s+1)/(3s)m11/(3s))K1/3)=O(n(s+1)/(3s)m11/(3s)logK), (25)

where I2(P,Γ) is the overall number of incidences within slabs of Σ(2).

We also recall that we need to add the bound O(n2/3m2/3+n+m), for the case where the curves in Γ contain line-segments (see above). The proof of Theorem 2 now follows by combining all the above bounds, including the bounds derived for Σ(1), and using the fact that logK=O(logn).

4 Range Reporting for Point Sets of Bounded Spread

In this section we prove Theorem 3. Our construction is based on that of Afshani and Cheng [1], who obtained a similar space-query tradeoff bound for (online) semi-algebraic range reporting for points uniformly distributed in the unit square. Here we consider instead the case where the input set of n points has spread Θ(n). This setup requires some extra care, as we provide below.

The grid construction.

Let P be a set of n points in the plane of Θ(n) spread, that is, the ratio between the maximum and the minimum distances among pairs of points from P is at most Θ(n). (As already noted, this is asymptotically the smallest possible value of the spread of n points in the plane.) Suppose, without loss of generality, that all the points of P lie in the unit square U=[0,1]×[0,1]. We now draw a n×n uniform grid G0 that fits within U; let us denote by V the set of its vertices. Since the spread of P is Θ(n), each cell of G0 contains only O(1) points of P (or is empty), as is easily verified.

We next apply a similar grid construction as in Section 2, where now the parameter r is the query time Q=Q(n). For simplicity of presentation, we continue to denote it by r. We partition the unit square U into an r×r uniform grid G. As a result, we obtain a partition of V into r2 subsets, each confined to a grid cell τ of G, which has side length 1/r and contains O(n/r2) points of V. Due to the bounded spread property, this also forms a partition of P such that |Pτ| = O(n/r2), for each cell τ of G. (Points on boundaries of cells of G are assigned arbitrarily to one of the neighboring cells, as before.) We then construct, for each cell τG, a family of canonical slabs in an identical manner to that presented in Section 2. These slabs are used to cover portions of the boundaries of query ranges R. We use the same notation as in Section 2, and denote by Σi the set of all i-slabs, for each i=0,,logr, and put Σ=iΣi. We recall that Li=|Σi|=O(r4/22i).

In each slab σΣ we construct a range-reporting data structure for the set Pσ (see below for details). In what follows we first estimate |Pσ|, and then present the construction of the range-reporting data structure.

Bounding |𝑷𝝈|.

We first estimate |Vσ| and then show how to obtain a similar bound for |Pσ|. We apply Pick’s theorem as in Section 2, and use the notation there. That is, for a nondegenerate simple polygon Q with vertices of G0, we have nμ(Q)=I+B/21, implying that |VQ|=I+B2nμ(Q)+2. Then for a canonical i-slab σΣ, we obtain (where C(σ)σ is the convex hull of Vσ):

|Vσ|=|VC(σ)|2nμ(C(σ))+22nμ(σ)+2=O(nαi/r2)=O(2in/r3).

As already noted, this bound holds as long as Vσ is not a collinear set of points, and the additive term 2 is subsumed in this bound as long as r is not too large. We next present an appropriate choice for r, such that both of these properties hold:

Lemma 7.

If rcn1/4, for a sufficiently small constant c>0, then, for each canonical slab σΣ, the set Vσ is not collinear.

Proof.

Let τ be the grid cell that contains σ. By the condition rcn1/4, the width of σ must be at least 1/r2=Ω(1/n). If c is sufficiently small, then σ must contain in its interior a grid square of G0 (which is an axis-parallel (1/n)×(1/n) square, whose vertices belong to V). Therefore, σ contains four points of V, which are not at a collinear position.

We thus conclude that we always have |Vσ|=O(2in/r3), using the above choice of r; for this choice, the term 2in/r3 is at least n1/4, which, in particular, dominates the additive term 2. Using the notation of Lemma 7, it is also easy to verify that each grid square of G0 intersected by σ must have at least one vertex vV that lies inside σ. In other words, the number of grid squares intersected by σ is equal, up to a constant factor, to the number of grid points inside σ. Since each grid square contains O(1) points of P, this also asymptotically bounds |Pσ|. In other words, we showed (for r as above):

|Pσ|=O(2in/r3),for each i-slab σ. (26)

Since we rely on Lemma 7, we require that Q(n)=rcn1/4.

The data structure.

Let P and be as in the statement of Theorem 3. We follow the analysis of [1] and construct a two-part data structure for P that supports range reporting queries from , as follows. Let R be a query range. At the first structure we efficiently report points that are close to R, and at the second structure we use a simplex range reporting data structure with space complexity O(n2) and O(logn+k) query time, where k is the output size. For the first task we use the above grid construction, where the parameter r is the total query time-bound parameter Q(n) that we aim to achieve.

As observed in [1], after covering R by canonical slabs, the leftover (inner) portion R of R is a polygonal region, whose complexity is proportional to the number of slabs used to cover R. Thus R can be covered by triangles, whose number is proportional to that quantity. Specifically, we have O(1) triangles in each grid cell τ of G crossed by R, for a total of O(r)=O(Q(n)) such triangles. The cells that are fully contained in R are easier to handle, since all the points of P in these cells belong to the output; we refer to [1] for the missing details. Hence, using O(Q(n)) simplex range reporting queries, we can report all the points of P in R. That is, the cost of this part is (as argued in [1]) O(Q(n)logn+k2) time, where k2 is the number of points from P in R. (Recall that we use O(n2) space in this structure).

We thus focus on range reporting near the boundary of R. Let us consider an i-slab σΣi. Recall from the above discussion (and Section 2) that the corresponding parameter αi is 2i/Q(n), Li=Q(n)4/22i, and nσ=|Pσ|=O(nαi/Q(n)2)=O(2in/Q(n)3) (see (26)). We now construct within σ a range-reporting data structure, with query time O(2i+k1) (where k1 is the output size) and space complexity O((nσ2i)t). Such a data structure is fairly standard and is obtained by duality, see [1] and the references therein. As argued in Section 2, R uses at most O(1/αi)=O(Q(n)/2i) i-slabs σ for its cover, so the total query time overhead of this part is O(Q(n)); we refer to [1, Lemma 17] for further details concerning this property.

We thus conclude that the total space complexity is
O(i=0logQ(n)σΣi(nσ2i)t)=O(i=0logQ(n)Q(n)4/22i(2inαi/Q(n)32i)t)=O(ntQ(n)3t4).

Recall that due to the simplex range reporting data structure stored at our second structure, we need to add a factor of O(n2) to the storage (and preprocessing) complexity. The threshold for Q(n) in Theorem 3 follows from the threshold in Lemma 7. We also note that we require Q(n)polylog(n), as follows from standard properties of range search (see [1, 2]).

We comment that due to the second data structure, where we use simplex range reporting, the actual query time is O(Q(n)logn+k), however, we can easily reduce it to O(Q(n)+k) by choosing r=Q(n)/logn (and keeping the storage complexity O(n2)), as is easily verified. This completes the proof of Theorem 3.

References

  • [1] P. Afshani and P. Cheng. On semialgebraic range reporting. In Xavier Goaoc and Michael Kerber, editors, 38th International Symposium on Computational Geometry, SoCG 2022, June 7-10, 2022, Berlin, Germany, volume 224 of LIPIcs, pages 3:1–3:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.SOCG.2022.3.
  • [2] P. K. Agarwal. Simplex range searching. In M. Loebl, J. Nešetřil, and R. Thomas, editors, Journey Through Discrete Mathematics, pages 1–30. Springer Verlag, Heidelberg, 2017.
  • [3] P. K. Agarwal, E. Nevo, J. Pach, R. Pinchasi, M. Sharir, and S. Smorodinsky. Lenses in arrangements of pseudo-circles and their applications. J. ACM, 51:139–186, 2004. doi:10.1145/972639.972641.
  • [4] M. Aigner and G. M.Ziegler. Three applications of euler’s formula: Pick’s theorem. In Proofs from THE BOOK (6th ed.), pages 93–94. Springer, 2018.
  • [5] B. Aronov and M. Sharir. Cutting circles into pseudo-segments and improved bounds for incidences. Discrete Comput. Geom., 28:475–490, 2002.
  • [6] E. Bombieri and J. Pila. The number of integral points on arcs and ovals. Duke Math. Journal, 59(2):337–357, 1989.
  • [7] G. Elekes. Sums versus products in number theory, algebra and Erdős geometry, volume 11 of Bolyai Soc. Math. Stud., pages 241–290. János Bolyai Math. Soc., Budapest, 2002.
  • [8] B. Janzer, O. Janzer, A. Methuku, and G. Tardos. Tight bounds for intersection-reverse sequences, edge-ordered graphs and applications, 2024. arXiv:2411.07188.
  • [9] T. Kóvari, V. Sós, and P. Turán. On a problem of K. Zarankiewicz. Colloquium Mathematicae, 3(1):50–57, 1954. URL: http://eudml.org/doc/210011.
  • [10] A. Marcus and G. Tardos. Intersection reverse sequences and geometric applications. Journal of Combinatorial Theory, Series A, 113(4):675–691, 2006. doi:10.1016/j.jcta.2005.07.002.
  • [11] J. Pach and M.Sharir. Geometric incidences. In J. Pach, editor, Towards a Theory of Geometric Graphs, volume 342 of Contemp. Math., pages 185–223. Amer. Math. Soc. Press, 2004.
  • [12] M. Sharir and J. Zahl. Cutting algebraic curves into pseudo-segments and applications. J. Comb. Theory A, 150:1–35, 2017. doi:10.1016/J.JCTA.2017.02.006.
  • [13] A. Sheffer. Polynomial Methods and Incidence Theory. Cambridge Studies in Advanced Mathematics. Cambridge University Press, 2022. doi:10.1017/9781108959988.
  • [14] E. Szemerédi and W. T. Trotter Jr. Extremal problems in discrete geometry. Combinatorica, 3:381–392, 1983. doi:10.1007/BF02579194.