OLYMPIADS IN INFORMATICS, 2016, Vol. 10, pp. 19 - 37
© IOI, Vilnius University
ISSN 1822-7732
DOI: 10.15388/ioi.2016.02
Wavelet Trees for Competitive Programming
Robinson CASTRO1, Nico LEHMANN1, Jorge PÉREZ1,2, Bernardo SUBERCASEAUX1
1Department of Computer Science, Universidad de Chile
Beauchef 851, Santiago, Chile
2
Chilean Center for Semantic Web Research
email: {rocastro, nlehmann, jperez, bsuberca}@dcc.uchile.cl
Abstract
The wavelet tree is a data structure to succinctly represent sequences of elements over a fixed but potentially large alphabet. It is a very versatile data structure which exhibits interesting properties even when its compression capabilities are not considered, efficiently supporting several queries. Although the wavelet tree was proposed more than a decade ago, it has not yet been widely used by the competitive programming community. This paper tries to fill the gap by showing how this data structure can be used in classical competitive programming problems, discussing some implementation details, and presenting a performance analysis focused in a competitive programming setting.
Keywords:
wavelet tree, data structures, competitive programming, quantile query, range query.
To preview full
article text in PDF format click here
You
could obtain free Acrobat Reader from Adobe
Copyright © International Olympiads in Informatics, Vilnius University Institute of Mathematics and Informatics, 2016