Shortest Unique Palindromic Substring Queries on Run-Length Encoded Strings

For a string S, a palindromic substring S[i..j] is said to be a shortest unique palindromic substring ( $$ SUPS $$ ) for an interval [s, t] in S, if S[i..j] occurs exactly once in S, the interval [i, j] contains [s, t], and every palindromic substring containing [s, t] which is shorter than S[i..j]...

Full description

Saved in:
Bibliographic Details
Published inCombinatorial Algorithms Vol. 11638; pp. 430 - 441
Main Authors Watanabe, Kiichi, Nakashima, Yuto, Inenaga, Shunsuke, Bannai, Hideo, Takeda, Masayuki
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 01.01.2019
Springer International Publishing
SeriesLecture Notes in Computer Science
Online AccessGet full text
ISBN3030250040
9783030250041
ISSN0302-9743
1611-3349
DOI10.1007/978-3-030-25005-8_35

Cover

More Information
Summary:For a string S, a palindromic substring S[i..j] is said to be a shortest unique palindromic substring ( $$ SUPS $$ ) for an interval [s, t] in S, if S[i..j] occurs exactly once in S, the interval [i, j] contains [s, t], and every palindromic substring containing [s, t] which is shorter than S[i..j] occurs at least twice in S. In this paper, we study the problem of answering $$ SUPS $$ queries on run-length encoded strings. We show how to preprocess a given run-length encoded string $$ RLE _{S}$$ of size m in O(m) space and $$O(m \log \sigma _{ RLE _{S}} + m \sqrt{\log m / \log \log m})$$ time so that all $$ SUPSs $$ for any subsequent query interval can be answered in $$O(\sqrt{\log m / \log \log m} + \alpha )$$ time, where $$\alpha $$ is the number of outputs, and $$\sigma _{ RLE _{S}}$$ is the number of distinct runs of $$ RLE _{S}$$ .
Bibliography:Original Abstract: For a string S, a palindromic substring S[i..j] is said to be a shortest unique palindromic substring (\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ SUPS $$\end{document}) for an interval [s, t] in S, if S[i..j] occurs exactly once in S, the interval [i, j] contains [s, t], and every palindromic substring containing [s, t] which is shorter than S[i..j] occurs at least twice in S. In this paper, we study the problem of answering \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ SUPS $$\end{document} queries on run-length encoded strings. We show how to preprocess a given run-length encoded string \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ RLE _{S}$$\end{document} of size m in O(m) space and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(m \log \sigma _{ RLE _{S}} + m \sqrt{\log m / \log \log m})$$\end{document} time so that all \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ SUPSs $$\end{document} for any subsequent query interval can be answered in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\sqrt{\log m / \log \log m} + \alpha )$$\end{document} time, where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha $$\end{document} is the number of outputs, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sigma _{ RLE _{S}}$$\end{document} is the number of distinct runs of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ RLE _{S}$$\end{document}.
ISBN:3030250040
9783030250041
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-030-25005-8_35