The Binary Jumbled String Matching problem is defined as: Given a string s
over {a,b} of length n and a query (x,y), with x,y non-negative
integers, decide whether s has a substring t with exactly xa's and yb's. Previous solutions created an index of size O(n) in a pre-processing
step, which was then used to answer queries in constant time. The fastest
algorithms for construction of this index have running time O(n2/logn)
[Burcsi et al., FUN 2010; Moosa and Rahman, IPL 2010], or O(n2/log2n) in
the word-RAM model [Moosa and Rahman, JDA 2012]. We propose an index
constructed directly from the run-length encoding of s. The construction time
of our index is O(n+ρ2logρ), where O(n) is the time for computing
the run-length encoding of s and ρ is the length of this encoding---this
is no worse than previous solutions if ρ=O(n/logn) and better if ρ=o(n/logn). Our index L can be queried in O(logρ) time. While
∣L∣=O(min(n,ρ2)) in the worst case, preliminary investigations have
indicated that ∣L∣ may often be close to ρ. Furthermore, the algorithm
for constructing the index is conceptually simple and easy to implement. In an
attempt to shed light on the structure and size of our index, we characterize
it in terms of the prefix normal forms of s introduced in [Fici and Lipt\'ak,
DLT 2011].Comment: v2: only small cosmetic changes; v3: new title, weakened conjectures
on size of Corner Index (we no longer conjecture it to be always linear in
size of RLE); removed experimental part on random strings (these are valid
but limited in their predictive power w.r.t. general strings); v3 published
in IP