单峰数列
Problem Description
对于一个整数数列,如果其先严格递增,然后在某一点后严格递减,我们称这个数列为单峰数列(严格递增和严格递减的部分均要是非空)。
给定长度为 n 的整数数列 a1,a2,…,an ,请你支持 q 次操作:
1 l r x:将 al,al+1,…,ar 的每个数加 x。
2 l r:判断 al,al+1,…,ar 的元素是否全都相同。
3 l r:判断 al,al+1,…,ar 是否严格升序排序。当 l=r 时,认为符合严格升序排序。
4 l r:判断 al,al+1,…,ar 是否严格降序排序。当 l=r 时,认为符合严格降序排序。
5 l r:判断 al,al+1,…,ar 是否为单峰数列。保证 r−l+1≥3。
第一行输入包含一个整数 n (3≤n≤105)。
第二行输入包含 n 个整数 a1,a2,…,an (0≤ai≤109)。
第三行输入包含一个整数 q (1≤q≤2×105)。
接下来的 q 行,每行描述一个操作,格式见题目描述。对于第一类操作,保证 −109≤x≤109。
Output
对于每个询问输出一行一个整数,如果查询符合要求输出 1,否则输出 0。
7
3 1 4 1 5 9 2
8
5 1 3
5 4 7
1 3 3 -3
2 2 4
3 3 5
3 4 5
4 1 1
4 1 2
Sample Output
0
1
1
0
1
1
1
Source
2024“钉耙编程”中国大学生算法设计超级联赛(3)