Rollercoasters with Plateaus
Abstract
In this paper we investigate the problem of detecting, counting, and enumerating (generating) all maximum length plateau-k-rollercoasters appearing as a subsequence of some given word (sequence, string), while allowing for plateaus. We define a plateau-k-rollercoaster as a word consisting of an alternating sequence of (weakly) increasing and decreasing runs, with each run containing at least k distinct elements, allowing the run to contain multiple copies of the same symbol consecutively. This differs from previous work, where runs within rollercoasters have been defined only as sequences of distinct values. Here, we are concerned with rollercoasters of maximum length embedded in a given word w, that is, the longest rollercoasters that are a subsequence of w. We present algorithms allowing us to determine the longest plateau-k-roller\-coasters appearing as a subsequence in any given word w of length n over an alphabet of size σ in O(n σ k) time, to count the number of plateau-k-rollercoasters in w of maximum length in O(n σ k) time, and to output all of them with O(n) delay after O(n σ k) preprocessing. Furthermore, we present an algorithm to determine the longest common plateau-k-rollercoaster within a set of words in O(N k σ) where N is the product of all word lengths within the set.
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.