#6724. 天气温度变化
天气温度变化
天气温度变化
题目描述
某地区连续记录了 n 天的天气温度。
第 i 天初始温度为:
天气系统需要支持实时修改和查询。
系统有两种操作:
操作类型 1:区间升温
输入:
0 l r x
表示:
未来第 l 天到第 r 天温度全部升高 x 度。
即:
对于所有:
执行:
操作类型 2:查询温度
输入:
1 p
表示:
查询第 p 天当前温度。
请你编写程序,帮助天气系统完成所有操作。
输入格式
第一行包含两个整数:
n q
表示:
n:天数q:操作次数
第二行包含 n 个整数:
a1 a2 ... an
表示每天初始温度。
接下来 q 行,每行一个操作:
如果操作为:
0 l r x
表示:
第 l 天到第 r 天温度增加 x。
如果操作为:
1 p
表示:
查询第 p 天温度。
输出格式
对于每一次查询操作:
1 p
输出一行答案。
数据范围
对于所有测试数据:
1 ≤ n,q ≤ 500000
-10^9 ≤ a[i],x ≤ 10^9
1 ≤ l ≤ r ≤ n
1 ≤ p ≤ n
保证所有答案均在 long long 范围内。
输入样例
5 5
10 20 30 40 50
0 2 4 10
1 3
0 1 5 5
1 1
1 5
输出样例
40
15
55
样例解释
初始温度:
第几天:
1 2 3 4 5
温度:
10 20 30 40 50
第一次操作
输入:
0 2 4 10
表示:
第 2 天到第 4 天增加 10 度。
变化:
10 30 40 50 50
查询:
1 3
第 3 天:
40
输出:
40
第二次操作
输入:
0 1 5 5
所有天增加 5 度:
变化:
15 35 45 55 55
查询:
1 1
输出:
15
查询:
1 5
输出:
55
| 测试点编号 | n 上限 | q 上限 | 难度层级 | 特殊性质 | 主要覆盖点 |
|---|---|---|---|---|---|
| 1 | 5 | 弱数据 | 最小规模、单点反复修改 | n=1、l=r=1、正负更新后的查询 |
|
| 2 | 5 | 3 | 只有查询 | 初始差分建树是否正确,首尾位置查询 | |
| 3 | 6 | 8 | 单点修改 | l=r、首位和末位单点更新、未修改点查询 |
|
| 4 | 8 | 10 | 正常数据 | 整段更新、重叠抵消 | [1,n] 更新、r+1 越界保护、重叠区间 |
| 5 | 7 | 初值有负数 | 负数初值、正负区间增量、尾段更新 | ||
| 6 | 10 | 13 | 相邻区间和交界点 | 相邻区间、跨边界更新、交界点查询 | |
| 7 | 5 | 10 | 正常偏强 | 大整数 | long long 范围内的大正负数和大幅更新 |
| 8 | 12 | 13 | 初始数组强烈波动 | 差分初始化、非单调数组、多层重叠更新 | |
| 9 | 50 | 18 | 强数据 | 中等规模混合操作 | 多次区间修改、边界单点、重复查询 |
| 10 | 500000 | 21 | 极限数据 | 最大 n、稀疏操作 |
首尾边界、超大单点值、长区间更新 |
相关
在以下作业中: