持久化线段树[1]
时间限制:1秒 内存限制:256M
【题目描述】
给定一个长度为 \(n\) 的整数数组 \(A[1]、A[2]、…、A[n](-10^9≤A[i]≤10^9)\),和 \(m\) 个操作:
操作1:\(1\ i\ x\) 把 \(A[i]\) 修改成 \(x(-10^9≤x≤10^9)\);
操作2:\(2\ t\ i\ j\) 查询前 \(t\) 次操作后的序列中连续子序列 \(A[i]..A[j]\) 中的最小值,\(t\) 从 0 开始计数。
【输入格式】
第一行包含两个整数 \(n\) 和 \(m\),表示数组有 \(n\) 个元素,\(m\) 表示有 \(m\) 个查询操作;
接下来的一行包含 \(n\) 个整数,第 \(i\) 个整数表示 \(A[i]\);
再接下来的 \(m\) 行,每行一个操作,第 \(i\) 行的操作如果是2操作,则 \(0≤t<i\)。
【输出格式】
按输入顺序输出操作2的结果。
【输入输出样例】
Input
8 8
2 4 3 6 5 1 8 7
2 0 2 4
1 3 -1
2 2 2 4
1 6 3
2 4 4 8
2 0 4 8
1 3 4
2 7 1 7
Output
3
-1
3
1
2
【数据限制】
对于 \(100\%\) 的数据,\(0<n,m≤200000\)
【来源】
Mr.he**