这是个非常经典的可持久化权值线段树入门题——静态区间第 k k k 小。
数据已经过加强,请使用可持久化权值线段树。同时请注意常数优化。
如题,给定 n n n 个整数构成的序列 a a a,将对于指定的闭区间 [ l , r ] [l, r] [l,r] 查询其区间内的第 k k k 小值。
第一行包含两个整数,分别表示序列的长度 n n n 和查询的个数 m m m。
第二行包含 n n n 个整数,第 i i i 个整数表示序列的第 i i i 个元素 a i a_i ai。
接下来 m m m 行每行包含三个整数 $ l, r, k$ , 表示查询区间 [ l , r ] [l, r] [l,r] 内的第 k k k 小值。
对于每次询问,输出一行一个整数表示答案。
5 5
25957 6405 15770 26287 26465
2 2 1
3 4 1
4 5 1
1 2 2
4 4 1
6405
15770
26287
25957
26287
n = 5 n=5 n=5,数列长度为 5 5 5,数列从第一项开始依次为 { 25957 , 6405 , 15770 , 26287 , 26465 } \{25957, 6405, 15770, 26287, 26465\} { 25957,6405,15770,26287,26465}。