Beyond the Longest Letter-duplicated Subsequence Problem
Given a sequence S of length n, a letter-duplicated subsequence is a subsequence of S in the form of x_1^d_1x_2^d_2⋯ x_k^d_k with x_i∈Σ, x_j≠ x_j+1 and d_i≥ 2 for all i in [k] and j in [k-1]. A linear time algorithm for computing the longest letter-duplicated subsequence (LLDS) of S can be easily obtained. In this paper, we focus on two variants of this problem. We first consider the constrained version when Σ is unbounded, each letter appears in S at least 6 times and all the letters in Σ must appear in the solution. We show that the problem is NP-hard (a further twist indicates that the problem does not admit any polynomial time approximation). The reduction is from possibly the simplest version of SAT that is NP-complete, (≤ 2,1,≤ 3)-SAT, where each variable appears at most twice positively and exact once negatively, and each clause contains at most three literals and some clauses must contain exactly two literals. (We hope that this technique will serve as a general tool to help us proving the NP-hardness for some more tricky sequence problems involving only one sequence – much harder than with at least two input sequences, which we apply successfully at the end of the paper on some extra variations of the LLDS problem.) We then show that when each letter appears in S at most 3 times, then the problem admits a factor 1.5-O(1/n) approximation. Finally, we consider the weighted version, where the weight of a block x_i^d_i (d_i≥ 2) could be any positive function which might not grow with d_i. We give a non-trivial O(n^2) time dynamic programming algorithm for this version, i.e., computing an LD-subsequence of S whose weight is maximized.
READ FULL TEXT