Block Palindromes: A New Generalization of Palindromes (1806.00198v3)
Abstract: We study a new generalization of palindromes and gapped palindromes called block palindromes. A block palindrome is a string that becomes a palindrome when identical substrings are replaced with a distinct character. We investigate several properties of block palindromes and in particular, study substrings of a string which are block palindromes. In so doing, we introduce the notion of a \emph{maximal block palindrome}, which leads to a compact representation of all block palindromes that occur in a string. We also propose an algorithm which enumerates all maximal block palindromes that appear in a given string $T$ in $O(|T| + |\mathit{MBP}(T)|)$ time, where $|\mathit{MBP}(T)|$ is the output size, which is optimal unless all the maximal block palindromes can be represented in a more compact way.