Data Structures19 sections · 729 units
Open in Course

Problem - Kth Number in Range

Classic persistence application

Given an array, answer queries: "What is the kk-th smallest element in subarray [l,r][l, r]?" Example: A=[1,5,2,6,3,7,4]A = [1, 5, 2, 6, 3, 7, 4] Query (2,5,3)(2, 5, 3): 3rd smallest in [2,6,3,7][2, 6, 3, 7] is 66.

This is solvable with wavelet trees, but persistent segment tree gives a clean solution. Build persistent segment tree on coordinate-compressed values.

Version ii contains elements A[0..i1]A[0..i-1]. Constraints: up to 10510^5 elements and queries.