String 2-Covers with No Length Restrictions

Abstract

A λ-cover of a string S is a set of strings \Ci\1λ such that every index in S is contained in an occurrence of at least one string Ci. The existence of a 1-cover defines a well-known class of quasi-periodic strings. Quasi-periodicity can be decided in linear time, and all 1-covers of a string can be reported in linear time plus the size of the output. Since in general it is NP-complete to decide whether a string has a λ-cover, the natural next step is the development of efficient algorithms for 2-covers. Radoszewski and Straszy\'nski [ESA 2020] analysed the particular case where the strings in a 2-cover must be of the same length. They provided an algorithm that reports all such 2-covers of S in time near-linear in |S| and in the size of the output. In this work, we consider 2-covers in full generality. Since every length-n string has (n2) trivial 2-covers (every prefix and suffix of total length at least n constitute such a 2-cover), we state the reporting problem as follows: given a string S and a number m, report all 2-covers \C1,C2\ of S with length |C1|+|C2| upper bounded by m. We present an O(n + Output) time algorithm solving this problem, with Output being the size of the output. This algorithm admits a simpler modification that finds a 2-cover of minimum length. We also provide an O(n) time construction of a 2-cover oracle which, given two substrings C1,C2 of S, reports in poly-logarithmic time whether \C1,C2\ is a 2-cover of S.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…