Longest Square Subsequence Problem Revisited
The longest square subsequence (LSS) problem consists of computing a longest subsequence of a given string S that is a square, i.e., a longest subsequence of form XX appearing in S. It is known that an LSS of a string S of length n can be computed using O(n^2) time [Kosowski 2004], or with (model-dependent) polylogarithmic speed-ups using O(n^2 (loglog n)^2 / log^2 n) time [Tiskin 2013]. We present the first algorithm for LSS whose running time depends on other parameters, i.e., we show that an LSS of S can be computed in O(r min{n, M}logn/r + M log n) time with O(M) space, where r is the length of an LSS of S and M is the number of matching points on S.
READ FULL TEXT