Data Structures19 sections · 729 units
Open in Course

Application: Distinct Count

Unique values in range

Count distinct values in A[l..r]A[l..r]. Wavelet trees don't directly support this efficiently. Approach 1: Offline with sweepline Sort queries by right endpoint.

Use BIT to track "last occurrence" of each value. Approach 2: Persistent segment tree Build on value positions.

Query counts values whose last occurrence is in [l,r][l, r]. Approach 3: Mo's algorithm Maintain frequency map while processing queries in Mo's order.

Distinct count in O(log⁡n)O(\log n) per query requires persistent structures. Wavelet tree helps with frequency queries but not distinct counts directly.