Home => ProblemSet => 3.2-44:[ZJOI2013] K大数查询
Problem1994--3.2-44:[ZJOI2013] K大数查询

1994: 3.2-44:[ZJOI2013] K大数查询

Time Limit: 2 Sec  Memory Limit: 500 MB  Submit: 0  Solved: 1
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

你需要维护 n 个可重整数集,集合的编号从 1 到 n。
这些集合初始都是空集,有 m 个操作:
  • 1 l r c:表示将 c 加入到编号在 [l,r] 内的集合中
  • 2 l r c:表示查询编号在 [l,r] 内的集合的并集中,第 c 大的数是多少。
注意可重集的并是不去除重复元素的,如 {1,1,4}∪{5,1,4}={1,1,4,5,1,4}。

Input

第一行两个正整数 n,m,表示集合个数和操作个数。
接下来 m 行,每行四个整数表示一次操作。

Output

对于每个 2 操作,输出一行一个整数表示答案。

Sample Input Copy

2 5
1 1 2 1
1 1 2 2
2 1 1 2
2 1 1 1
2 1 2 3

Sample Output Copy

1
2
1

HINT

【样例说明】
第 1 次操作在 1,2 号集合中分别加入了一个 1。
第 2 次操作在 1,2 号集合中分别加入了一个 2。
第 3 次操作查询 1 号集合中第 2 大的数,答案为 1。
第 4 次操作查询 1 号集合中第 1 大的数,答案为 2。
第 5 次操作查询 1,2 号集合的并集 {1,2,1,2} 中第 3 大的数,答案为 1。
【数据范围】
1≤n,m≤5×104
1≤l,r≤n
1 操作中 ∣c∣≤n
2 操作中 1≤c<263

Source/Category