AT_arc030_4.[ARC030D] グラフではない
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长度为 N 的数列 X={x1,x2,…,xN}。现在要对这个数列进行 Q 次操作。操作有三种类型,具体如下:
1 a b v—— 将数列 X 的区间 [a,b] 上的每个元素都加上 v。2 a b c d—— 将数列 X 的区间 [a,b] 的值替换为当前区间 [c,d] 的值。保证 b−a=d−c。更严格地说,操作后得到的新数列 X′ 满足 Xa′=Xc,Xa+1′=Xc+1,……,Xb′=Xd。对于不在 [a,b] 区间内的 j,有 Xj′=Xj。3 a b—— 查询数列 X 的区间 [a,b] 上所有元素的和。
请你编写程序,依次处理这些操作。
输入格式
输入通过标准输入给出,格式如下:
N Q x1 x2 … xN Query1 Query2 : QueryQ
- 第 1 行包含两个整数,分别表示数列 X 的长度 N (1≤N≤2×105) 和操作次数 Q (1≤Q≤2×105)。
- 第 2 行包含 N 个整数,表示数列 X 的每个元素 xi (−106≤xi≤106),以空格分隔。
- 接下来的 Q 行,每行一个操作,格式为
1 a b v、2 a b c d或3 a b。其中 −106≤v≤106,1≤a≤b≤N,1≤c≤d≤N,并保证 b−a=d−c。
输出格式
对于每个 3 a b 形式的查询操作,按输入顺序输出答案。每个答案占一行。
输入输出样例
输入#1
5 5 1 2 3 4 5 3 1 5 1 1 3 1 3 1 3 2 1 3 2 4 3 1 5
输出#1
15 9 20
输入#2
10 30 -5 -5 -2 -1 2 -2 0 -4 2 5 2 9 10 9 10 2 3 5 2 4 1 2 10 -1 2 1 7 1 7 3 1 4 2 1 6 2 7 2 5 8 6 9 3 4 8 3 1 10 3 9 9 1 3 8 -1 2 4 9 1 6 3 2 7 1 9 10 -4 1 6 9 -5 1 4 6 -7 3 2 5 2 10 10 7 7 1 3 4 -10 3 4 9 3 8 9 2 6 7 8 9 3 3 5 3 3 9 1 2 10 -10 2 4 6 4 6 2 4 9 5 10 1 2 6 7 3 7 8 1 3 6 3
输出#2
-20 -8 -18 1 -29 -36 -78 -18 -50 -86 -38
说明/提示
样例解释 1
- 第 1 个操作是查询 [1,5] 区间的和,1+2+3+4+5=15,输出 15。
- 第 2 个操作是将 [1,3] 区间的每个元素加 1,操作后 X={2,3,4,4,5}。
- 第 3 个操作是查询 [1,3] 区间的和,2+3+4=9,输出 9。
- 第 4 个操作是将 [2,4] 区间的值替换为 [1,3] 区间的值,操作后 X={3,4,4,4,5}。
- 第 5 个操作是查询 [1,5] 区间的和,3+4+4+4+5=20,输出 20。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?