A sub-quadratic algorithm for the longest common increasing subsequence problem
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(n^2) algorithm and a SETH-based quadratic lower bound. For LCS, there is also the Masek-Paterson O(n^2 / n) algorithm, which does not seem to adapt to LCIS in any obvious way. Hence, a natural question arises: does any sub-quadratic algorithm exist for the Longest Common Increasing Subsequence problem? We answer this question positively, presenting a O(n^2 / ^an) algorithm for some a>0. 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.
READ FULL TEXT