Fully Dynamic Approximation of LIS in Polylogarithmic Time
We revisit the problem of maintaining the longest increasing subsequence (LIS) of an array under (i) inserting an element, and (ii) deleting an element of an array. In a recent breakthrough, Mitzenmacher and Seddighin [STOC 2020] designed an algorithm that maintains an 𝒪((1/ϵ)^𝒪(1/ϵ))-approximation of LIS under both operations with worst-case update time Õ(n^ϵ), for any constant ϵ>0. We exponentially improve on their result by designing an algorithm that maintains an (1+ϵ)-approximation of LIS under both operations with worst-case update time Õ(ϵ^-5). Instead of working with the grid packing technique introduced by Mitzenmacher and Seddighin, we take a different approach building on a new tool that might be of independent interest: LIS sparsification. A particularly interesting consequence of our result is an improved solution for the so-called Erdős-Szekeres partitioning, in which we seek a partition of a given permutation of {1,2,…,n} into 𝒪(√(n)) monotone subsequences. This problem has been repeatedly stated as one of the natural examples in which we see a large gap between the decision-tree complexity and algorithmic complexity. The result of Mitzenmacher and Seddighin implies an 𝒪(n^1+ϵ) time solution for this problem, for any ϵ>0. Our algorithm (in fact, its simpler decremental version) further improves this to Õ(n).
READ FULL TEXT