当前位置: X-MOL 学术Theory Comput. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fast Algorithms for the Shortest Unique Palindromic Substring Problem on Run-Length Encoded Strings
Theory of Computing Systems ( IF 0.6 ) Pub Date : 2020-05-09 , DOI: 10.1007/s00224-020-09980-x
Kiichi Watanabe , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda

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 RLES of size m in O(m) space and \(O(m \log \sigma _{\mathit {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 α is the number of outputs, and \(\sigma _{\mathit {RLE}_{S}}\) is the number of distinct runs of RLES. Additionaly, we consider a variant of the SUPS problem where a query interval is also given in a run-length encoded form. For this variant of the problem, we present two alternative algorithms with faster queries. The first one answers queries in \(O(\sqrt {\log \log m /\log \log \log m} + \alpha )\) time and can be built in \(O(m \log \sigma _{\mathit {RLE}_{S}} + m \sqrt {\log m / \log \log m})\) time, and the second one answers queries in \(O(\log \log m + \alpha )\) time and can be built in \(O(m \log \sigma _{\mathit {RLE}_{S}})\) time. Both of these data structures require O(m) space.



中文翻译:

游程编码字符串上最短唯一回文子字符串问题的快速算法

的字符串小号,回文串小号[.. Ĵ ]被说成是一个最短独特回文子小号û P小号一个时间间隔)[小号]在小号,如果小号[.. Ĵ ]发生在正好一次小号,区间[Ĵ ]包含[小号],和含有每回文子串[小号],这是短于小号[i .. j ]在S中至少出现两次。在本文中,我们研究了在游程长度编码的字符串上回答S U P S查询的问题。我们展示了如何在Om)空间中预处理给定的长度为m的游程编码字符串R L E S\(O(m \ log \ sigma _ {\ mathit {RLE} _ {S}} + m \ SQRT {\日志米/ \日志\日志米})\)的时间,使所有小号ü P小号小号对于任何后续的查询间隔可以在回答\(O(\ SQRT {\日志米/ \日志\日志米} + \ alpha)\)时间,其中α是输出的数量,\(\ sigma _ {\ mathit {RLE} _ {S}} \)R L E S的不同行程的数量。另外,我们考虑SUPS问题的一种变体,其中查询间隔也以游程长度编码形式给出。对于这个问题的变体,我们提出了两种具有更快查询的替代算法。第一个以\(O(\ sqrt {\ log \ log m / \ log \ log \ log m} + \ alpha)\)的时间回答查询,并且可以以\(O(m \ log \ sigma _ { \ mathit {RLE} _ {S}} + m \ sqrt {\ log m / \ log \ log m})\)时间,第二个以\(O(\ log \ log m + \ alpha)回答查询\)时间,并且可以内置于\(O(m \ log \ sigma _ {\ mathit {RLE} _ {S}})\)时间。这两个数据结构都需要Om)空间。

更新日期:2020-05-09
down
wechat
bug