Toggle navigation
点码成金编程
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Blog
Login
Home
=>
ProblemSet
=> 线段树上二分
Problem2303--线段树上二分
2303: 线段树上二分
Time Limit:
1
Sec
Memory Limit:
1024 MB
Submit:
0
Solved:
1
[
Submit
] [
Status
] [ Creator:
][ 参考程序 ]
Description
给定n个数a
1
,a
2
,a
3
,...,a
n
共计m个操作:
1 x d, 修改a
x
=d
2 l r d, 查询a
l
, a
l+1
, a
l+2
,...,a
r
中大于等于d的第一个数的下标。
如果不存在,输出-1.也就是说,求最小的i(l <= i <= r)满足a
i
>= d.
Input
第一行两个整数n, m(1 <= n, q <= 2 * 10
5
);
接下来一行n个整数a
1
, a
2
,...,a
n
(1 <= a
i
<= 10
9
);
接下来m行,每行一个操作。数据保证1 <= x <= n, 1 <= l <= r <= n, 1<= d <= 10
9
Output
对于每个查询,输出一行表示答案
Sample Input
Copy
5 5 1 2 3 4 5 2 4 5 5 1 5 1 2 1 5 3 1 3 2 2 1 3 3
Sample Output
Copy
5 3 -1
Source/Category
数据结构
线段树