Compressed Dynamic Range Majority and Minority Data Structures
  In the range $\alpha$-majority query problem, we are given a sequence $S[1..n]$ and a fixed threshold $\alpha \in (0, 1)$, and are asked to preprocess $S$ such that, given a query range $[i..j]$, we can efficiently report the symbols that occur more than $\alpha (j-i+1)$ times in $S[i..j]$, which are called the range $\alpha$-majorities. In this article we first describe a dynamic data structure that represents $S$ in compressed space --- $nH_k+ o(n\lg \sigma)$ bits for any $k = o(\log_{\sigma} n)$, where $\sigma$ is the alphabet size and $H_k \le H_0 \le \lg\sigma $ is the $k$-th order empirical entropy of $S$ --- and answers queries in $O \left(\frac{\log n}{\alpha \log \log n} \right)$ time while supporting insertions and deletions in $S$ in $O \left( \frac{\lg n}{\alpha} \right)$ amortized time. We then show how to modify our data structure to receive some $\beta \ge \alpha$ at query time and report the range $\beta$-majorities in $O \left( \frac{\log n}{\beta \log \log n} \right)$ time, without increasing the asymptotic space or update-time bounds. The best previous dynamic solution has the same query and update times as ours, but it occupies $O(n)$ words and cannot take advantage of being given a larger threshold $\beta$ at query time.   [ABSTRACT CLIPPED DUE TO LENGTH.] 
Travis Gagie, Meng He and Gonzalo Navarro
cs.DS