Toggle navigation
点码成金编程
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
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×10
4
1≤l,r≤n
1 操作中 ∣c∣≤n
2 操作中 1≤c<2
63
Source/Category
数据结构
线段树
树状数组