Strings with maximally many distinct subsequences and substrings
Abstract
A natural problem in extremal combinatorics is to maximize the number of distinct subsequences for any length-n string over a finite alphabet Σ; this value grows exponentially, but slower than 2n. We use the probabilistic method to determine the maximizing string, which is a cyclically repeating string. The number of distinct subsequences is exactly enumerated by a generating function, from which we also derive asymptotic estimates. For the alphabet Σ = {1, 2}, (1, 2, 1, 2,...) has the maximum number of distinct subsequences, namely Fib(n + 3) - 1 ∼ ((1 + √5)/2)n+3/ √5. We also consider the same problem with substrings in lieu of subsequences. Here, we show that an appropriately truncated de Bruijn word attains the maximum. For both problems, we compare the performance of random strings with that of the optimal ones.