Improved Dynamic Algorithms for Longest Increasing Subsequence
We study dynamic algorithms for the longest increasing subsequence (LIS) problem. A dynamic LIS algorithm maintains a sequence subject to operations of the following form arriving one by one: (i) insert an element, (ii) delete an element, or (iii) substitute an element for another. After performing each operation, the algorithm must report the length of the longest increasing subsequence of the current sequence. Our main contribution is the first exact dynamic LIS algorithm with sublinear update time. More precisely, we present a randomized algorithm that performs each operation in time Õ(n^4/5) and after each update, reports the answer to the LIS problem correctly with high probability. We use several novel techniques and observations for this algorithm that may find their applications in future work. In the second part of the paper, we study approximate dynamic LIS algorithms, which are allowed to underestimate the solution size within a bounded multiplicative factor. In this setting, we give a deterministic algorithm with update time O(n^o(1)) and approximation factor 1-o(1). This result substantially improves upon the previous work of Mitzenmacher and Seddighin (STOC'20) that presents an Ω(ϵ ^O(1/ϵ))-approximation algorithm with update time Õ(n^ϵ) for any constant ϵ > 0.
READ FULL TEXT