AT_aalc001_w.Adjacent Add
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个长度为 k 的整数序列 B=(B1,B2,…,Bk),考虑执行以下操作零次或多次:
- 选择一个满足 1≤i≤k−1 的整数 i 和一个整数 x(x 可以为负数);
- 将 x 加到 Bi 上,并将 2x 加到 Bi+1 上。
若通过上述操作可使 B 的所有元素变为相等,则称 B 为好序列。
给定一个长度为 N 的非负整数序列 A=(A1,A2,…,AN)。你需要处理 Q 个查询,每个查询为以下两种类型之一:
1 i x:将 Ai 修改为 x;2 l r:判断子序列 (Al,Al+1,…,Ar) 是否为好序列。
输入格式
输入从标准输入中按以下格式给出:
N Q
A1 A2 … AN
query1
query2
⋮
queryQ
每个查询以以下两种格式之一给出:
1 i x
2 l r
输出格式
设 q 为类型 2 的查询数量。输出 q 行。在第 j 行中,若第 j 个类型 2 查询中的序列 (Al,Al+1,…,Ar) 是一个好序列,则输出 Yes;否则输出 No。
输入输出样例
输入#1
5 7 1 2 5 4 0 2 1 1 2 1 2 2 1 3 1 3 3 2 1 3 2 2 5 2 1 5
输出#1
Yes Yes No Yes No No
输入#2
6 6 1000000000 0 999999999 1 500000000 42 2 1 6 2 2 4 1 4 1000000000 2 2 4 2 4 6 2 3 3
输出#2
No No No Yes Yes
说明/提示
样例 1 解释:
第一次类型 2 的查询得到的序列为 (1)。该序列的所有元素已相等,无需任何操作,因此它是一个“好序列”。
第二次类型 2 的查询得到的序列为 (1,2)。执行一次操作,取 i=1,x=−1,可得到 (0,0),因此它也是一个“好序列”。
约束条件
- 1≤N≤2×105
- 1≤Q≤2×105
- 0≤Ai≤109
- 对于类型 1 的查询:1≤i≤N,0≤x≤109
- 对于类型 2 的查询:1≤l≤r≤N
- 输入中的所有数值均为整数。
输入解题思路,AI测评打分。不知道怎么写?