English

A sub-quadratic algorithm for the longest common increasing subsequence problem

Data Structures and Algorithms 2020-01-31 v3

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)O(n^2)-time algorithm and a SETH-based conditional lower bound of O(n2ε)O(n^{2-\varepsilon}). For LCS, there is also the Masek-Paterson O(n2/logn)O(n^2 / \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/logan)O(n^2 / \log^a{n})-time algorithm for a=16o(1)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.

Keywords

Cite

@article{arxiv.1902.06864,
  title  = {A sub-quadratic algorithm for the longest common increasing subsequence problem},
  author = {Lech Duraj},
  journal= {arXiv preprint arXiv:1902.06864},
  year   = {2020}
}

Comments

21 pages; STACS 2020 version -- heavily corrected from the previous one, might actually be readable