Logarithmic-Time Internal Pattern Matching Queries in Compressed and Dynamic Texts
arXiv:2503.03488
Abstract
Internal Pattern Matching (IPM) queries on a text , given two fragments and of such that , ask to compute all exact occurrences of within . IPM queries have been introduced by Kociumaka, Radoszewski, Rytter, and WaleÅ [SODA'15 & SICOMP'24], who showed that they can be answered in time using a data structure of size and used this result to answer various queries about fragments of . In this work, we study IPM queries on compressed and dynamic strings. Our result is an -time query algorithm applicable to any balanced recompression-based run-length straight-line program (RLSLP). In particular, one can use it on top of the RLSLP of Kociumaka, Navarro, and Prezza [IEEE TIT'23], whose size is optimal (among all text representations) as a function of the text length , the alphabet size , and the substring complexity . Our procedure does not rely on any preprocessing of the underlying RLSLP, which makes it readily applicable on top of the dynamic strings data structure of Gawrychowski, Karczmarz, Kociumaka, ÅÄ cki and Sankowski [SODA'18], which supports fully persistent updates in logarithmic time with high probability.
A preliminary version of this work was presented at SPIRE 2024