Guth showed that given a family \mathcal{S of n g-dimensional semi-algebraic sets in R^d and an integer parameter D\geq 1 , there is a d-variate partitioning polynomial P of degree at most D , so that each connected component of R^d\setminus Z(P) intersects O(n/D^{d-g}) sets from \mathcal{S . Such a polynomial is called a " generalized partitioning polynomial " . We present a randomized algorithm that efficiently computes such a polynomial P. Specifically, the expected running time of our algorithm is only linear in | \mathcal{S | , where the constant of proportionality depends on d, D, and the complexity of the description of~\mathcal{S . Our approach exploits the technique of "quantifier elimination " combined with that of " \epsilon-samples ". We present four applications of our result. The first is a data structure for answering point-location queries among a family of semi-algebraic sets in \mathbb{R}^d in O(\log n) time ; the second is data structure for answering range search queries with semi-algebraic ranges in  O(\log n) time ; the third is a data structure for answering vertical ray-shooting queries among semi-algebraic sets in \mathbb{R}^{d} in O(\log^2 n) time ; and the fourth is an efficient algorithm for cutting algebraic planar curves into pseudo-segments , i. e., into Jordan arcs, each pair of which intersect at most once^3, where we show a nearly-optimal algorithm to cut n pairwise disjoint non-vertical triangles in \mathbb{R}^3 into pieces that form a depth order} .
In 2015, Guth proved that if S is a collection of n g-dimensional semi-algebraic sets in R^d and if D\geq 1 is an integer, then there is a d-variate polynomial P of degree at most D so that each connected component of R^d\setminus Z(P) intersects O(n/D^{d-g}) sets from S . Such a polynomial is called a generalized partitioning polynomial . We present a randomized algorithm that computes such polynomials efficiently -- the expected running time of our algorithm is linear in | S | . Our approach exploits the technique of quantifier elimination combined with that of \epsilon-samples . We also present an extension of our construction to multi-level polynomial partitioning for semi-algebraic sets in \mathbb{R applications of our result. The first is a data structure for answering point-enclosure queries among a family of semi-algebraic sets in \mathbb{R}^d in O(\log n) time , with storage complexity and expected preprocessing time of O(n^{d+\epsilon data structure for answering range-searching queries with semi-algebraic ranges in \mathbb{R O(\log n) time , with O(n^{t+\epsilon third is a data structure for answering vertical ray-shooting queries among semi-algebraic sets in \mathbb{R}^{d} in O(\log^2 n) time , with O(n^{d+\epsilon fourth is an efficient algorithm for cutting algebraic curves in \mathbb{R into pseudo-segments . The fifth application is for eliminating depth cycles among triangles in \mathbb{R^3, where we show a nearly-optimal algorithm to cut n pairwise disjoint non-vertical triangles in \mathbb{R}^3 into pieces that form a depth order} .
R
Guth showed that given a family \mathcal{S
In 2015, Guth proved that if S is a collection
R
an integer parameter
if
R
,
is an integer, then
D
partitioning
D
,
R
\mathcal{S
S
D
"
D
"
R
efficiently computes such a polynomial P. Specifically,
computes such polynomials efficiently --
D
only
R
\mathcal{S
S
D
, where the constant of proportionality depends on d, D, and the complexity of the description of~\mathcal{S
R
"quantifier elimination "
quantifier elimination
D
"
R
". We present four
. We also present an extension of our construction to multi-level polynomial partitioning for semi-algebraic sets in \mathbb{R
R
point-location
point-enclosure
R
; the second is
, with storage complexity and expected preprocessing time of O(n^{d+\epsilon
R
range search
range-searching
A
\mathbb{R
R
; the
, with O(n^{t+\epsilon
R
; and the
, with O(n^{d+\epsilon
R
planar curves
curves in \mathbb{R
R
, i. e., into Jordan arcs, each pair of which intersect at most once
. The fifth application is for eliminating depth cycles among triangles in \mathbb{R