Size-constrained Weighted Ancestors with Applications
Abstract
The weighted ancestor problem on a rooted node-weighted tree is a generalization of the classic predecessor problem: construct a data structure for a set of integers that supports fast predecessor queries. Both problems are known to require time for queries provided space is available, where is the input size. The weighted ancestor problem has attracted a lot of attention by the combinatorial pattern matching community due to its direct application to suffix trees. In this formulation of the problem, the nodes are weighted by string depth. This research has culminated in a data structure for weighted ancestors in suffix trees with query time and an -time construction algorithm [Belazzougui et al., CPM 2021]. In this paper, we consider a different version of the weighted ancestor problem, where the nodes are weighted by any function that maps the nodes of to positive integers, such that for any node and if node is a descendant of node , where is the number of nodes in the subtree rooted at . In the size-constrained weighted ancestor (SWA) problem, for any node of and any integer , we are asked to return the lowest ancestor of with weight at least . We show that for any rooted tree with nodes, we can locate node in time after -time preprocessing. In particular, this implies a data structure for the SWA problem in suffix trees with query time and -time preprocessing, when the nodes are weighted by . We also show several string-processing applications of this result.
Cite
@article{arxiv.2311.15777,
title = {Size-constrained Weighted Ancestors with Applications},
author = {Philip Bille and Yakov Nekrich and Solon P. Pissis},
journal= {arXiv preprint arXiv:2311.15777},
year = {2024}
}
Comments
SWAT 2024