中文

R-enum 重述:面向上下文敏感重复与净频率的加速与扩展

数据结构与算法 2026-01-27 v2

摘要

Nishimoto 和 Tabei [CPM, 2021] 提出了 r-enum,这是一个用于枚举字符串 T 中各种特征子串(包括最大重复模式)的算法,其长度为 n,仅需 O(r) 单词的压缩工作空间,其中 r ≤ n 为 Burrows-Wheeler 变换 (BWT) 中 run 的数量。给定字符串 T 的 run-length 编码 BWT (RLBWT),r-enum 额外需要 O(n log log_w(n/r)) 时间,其中 w = Θ(log n) 为字大小。本文首先将 O(n log log_w(n/r)) 项改进为 O(n)。随后,我们将 r-enum 扩展到计算其他上下文敏感重复模式,如近似超最大重复 (NSMR) 和超最大重复,以及每个最大重复的上下文多样性,所需时间仍为 O(n)。此外,我们研究净出现次数:若重复模式的某个出现不被另一个重复模式覆盖,则称为该重复模式的净出现。重复模式的净频率即为其净出现次数的数量。在给出 RLBWT 的情况下,我们展示如何在 O(n) 时间内计算所有 NSMR 及其净频率/净出现次数的集合 S^{nsmr}。我们还表明,可从 RLBWT 构建一个 O(r) 空间的数据结构,以在最优时间内计算任意模式的净频率/净出现次数。该数据结构在 O(r) 空间下构建,需 O(n) 时间(高概率下)或确定性 O(n + |S^{nsmr}| log log min(σ, |S^{nsmr}|)) 时间,其中 σ ≤ r 为 T 的字母表大小。为实现此目标,我们证明了净出现次数总数小于 2r。凭借净出现次数与最小唯一子串 (MUS) 之间的二义性,我们得到 T 中 MUS 数量的新上界 2r,这可能独具兴趣。

关键词

引用

@article{arxiv.2511.11057,
  title  = {R-enum Revisited: Speedup and Extension for Context-Sensitive Repeats and Net Frequencies},
  author = {Kotaro Kimura and Tomohiro I},
  journal= {arXiv preprint arXiv:2511.11057},
  year   = {2026}
}

备注

accepted to CPM2026