#P16623. [Ukiepc2023]History in Numbers
[Ukiepc2023]History in Numbers
题目描述
历史学家正在研究一座城市连续 年的城市发展状况。他们使用一个可能为负数的整数指标——城市发展指数(UDI)——来量化每一年的发展程度。第 年的初始估计值为 。
随着新文献和证据被发现,这些估计值会不断修订。一次修改会选择年份区间 ,并给区间中每一年的 UDI 增加 。
历史学家还会询问某段时间内 UDI 是否“递增”。这里使用的不是通常的单调递增定义,而是以下规则:
-
将所有连续且相等的数压缩成一个数。例如:
1 1 2 2 2 3 3 3压缩后变为:
1 2 3 -
在压缩后的序列中,若一个元素严格小于它的所有相邻元素,则称它为一个局部最小值。首元素和末元素只与其唯一的相邻元素比较。
-
若所有局部最小值按照出现顺序组成的序列严格递增,则认为原序列在该时间段内“递增”。
你需要维护 UDI 序列,支持区间加法修改和上述递增性查询。
输入格式
第一行包含一个整数 :
第二行包含 个整数 :
第三行包含一个整数 ,表示操作数量:
接下来 行,每行是以下两种操作之一:
-
update s f d:对所有 ,令 ;其中 -
check s f:询问子序列 是否满足题目定义的“递增”。
输出格式
对于每个 check 操作,若对应区间满足条件,输出 YES;否则输出 NO。
样例 1
输入
5
10 4 10 6 10
5
check 1 5
update 2 3 1
check 1 5
update 2 3 1
check 1 5
输出
YES
YES
NO
样例 2
输入
8
10 -5 -5 -5 11 6 6 12
1
check 1 8
输出
YES