Data Structures19 sections · 729 units
Open in Course

Count Greater Than in Range

Complement query

Count elements in A[l..r]A[l..r] with value >v> v: Two approaches:

Approach 1: Use countLess pseudocode countGreater(l, r, v) := (r - l + 1) - countLessOrEqual(l, r, v)

Approach 2: Direct Similar to countLess but accumulate right subtree counts when vv is in left half.

Count in range [a,b][a, b]: pseudocode countInRange(l, r, a, b) := countLessOrEqual(l, r, b) - countLess(l, r, a) All these queries reduce to counting with value bounds, which wavelet trees handle in O(logσ)O(\log \sigma).

Time: O(logσ)O(\log \sigma) per query. Space: O(nlogσ)O(n \log \sigma).