Fast Algorithms for the Shortest Unique Palindromic Substring Problem on Run-Length Encoded Strings
Abstract
For a string S, a palindromic substring S[i..j] is said to be a shortest unique palindromic substring (SUPS) for an interval [s, t] in S, if S[i..j] occurs exactly once in S, the interval [i, j] contains [s, t], and every palindromic substring containing [s, t] which is shorter than S[i..j] occurs at least twice in S. In this paper, we study the problem of answering SUPS queries on run-length encoded strings. We show how to preprocess a given run-length encoded string RLES of size m in O(m) space and O(m σRLES + m m / m) time so that all SUPSs for any subsequent query interval can be answered in O( m / m + α) time, where α is the number of outputs, and σRLES is the number of distinct runs of RLES. Additionaly, we consider a variant of the SUPS problem where a query interval is also given in a run-length encoded form. For this variant of the problem, we present two alternative algorithms with faster queries. The first one answers queries in O( m / m + α) time and can be built in O(m σRLES + m m / m) time, and the second one answers queries in O( m + α) time and can be built in O(m σRLES) time. Both of these data structures require O(m) space.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.