Efficiently Finding All Minimal and Shortest Absent Subsequences in a String
Florin Manea, Tina Ringleb, Stefan Siemer, Maximilian Winkler
TL;DR
This work tackles the problem of finding and enumerating absent subsequences of a string, focusing on the shortest absent subsequences (SAS) and minimal absent subsequences (MAS). It develops a unified DAG-based framework using skeleton DAGs to model SAS and MAS as $s-f$ paths, enabling linear-time preprocessing and output-efficient enumeration, including incremental variants with constant per-output overhead. The authors also present an $O(n\log\sigma)$ algorithm to compute a longest MAS, combining dynamic programming with a 1D range-tree to support fast range-max queries. Collectively, these results significantly advance the state-of-the-art by providing optimal-time preprocessing and tight per-output guarantees for both SAS and MAS, with practical implications for stringology and related applications.
Abstract
Given a string $w$, another string $v$ is said to be a subsequence of $w$ if $v$ can be obtained from $w$ by removing some of its letters; on the other hand, $v$ is called an absent subsequence of $w$ if $v$ is not a subsequence of $w$. The existing literature on absent subsequences focused on understanding, for a string $w$, the set of its shortest absent subsequences (i.e., the shortest strings which are absent subsequences of $w$) and that of its minimal absent subsequences (i.e., those strings which are absent subsequences of $w$ but whose every proper subsequence occurs in $w$). Our contributions to this area of research are the following. Firstly, we present optimal algorithms (with linear time preprocessing and output-linear delay) for the enumeration of the shortest and, respectively, minimal absent subsequences. Secondly, we present optimal algorithms for the incremental enumeration of these strings with linear time preprocessing and constant delay; in this setting, we only output short edit-scripts showing how the currently enumerated string differs from the previous one. Finally, we provide an efficient algorithm for identifying a longest minimal absent subsequence of a string. All our algorithms improve the state-of-the-art results for the aforementioned problems.
