A sub-quadratic algorithm for the longest common increasing subsequence problem (1902.06864v3)
Abstract: The Longest Common Increasing Subsequence problem (LCIS) is a natural variant of the celebrated Longest Common Subsequence (LCS) problem. For LCIS, as well as for LCS, there is an $O(n2)$-time algorithm and a SETH-based conditional lower bound of $O(n{2-\varepsilon})$. For LCS, there is also the Masek-Paterson $O(n2 / \log{n})$-time algorithm, which does not seem to adapt to LCIS in any obvious way. Hence, a natural question arises: does any (slightly) sub-quadratic algorithm exist for the Longest Common Increasing Subsequence problem? We answer this question positively, presenting a $O(n2 / \loga{n})$-time algorithm for $a = \frac{1}{6}-o(1)$. The algorithm is not based on memorizing small chunks of data (often used for logarithmic speedups, including the "Four Russians Trick" in LCS), but rather utilizes a new technique, bounding the number of significant symbol matches between the two sequences.