AT_abc442_d.[ABC442D] Swap and Range Sum

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给你一个长度为 NN 的序列 A=(A1,A2,…,AN)A=(A_1,A_2,\dots,A_N)。

按顺序处理 QQ 个请求。每个请求的格式如下:

  • 1 x:交换 AxA_x 和 Ax+1A_{x+1} 的值。
  • 2 l r:查找 ∑l≤i≤rAi\displaystyle \sum_{l\leq i\leq r} A_i 的值。

输入格式

输入内容按如下格式给出:

NN QQ
A1A_1 A2A_2 …\dots ANA_N
query1\text{query}_1
query2\text{query}_2
⋮\vdots
queryQ\text{query}_Q

这里,queryi\text{query}_i 表示第 ii 次请求,并以下列格式之一给出:

11 xx

22 ll rr

输出格式

设 qq 为第二种类型的请求次数。

输出 qq 行。第 i(1≤i≤q)i(1\leq i \leq q) 行应该包含对第 ii 次第二类请求的回答。

输入输出样例

  • 输入#1

    4 4
    2 7 1 8
    1 2
    2 1 2
    1 1
    2 2 4

    输出#1

    3
    17
  • 输入#2

    8 10
    22 75 26 45 72 81 47 29
    2 2 7
    2 6 8
    2 4 4
    1 2
    2 1 3
    1 1
    2 2 4
    1 2
    1 4
    2 1 1

    输出#2

    346
    157
    45
    123
    142
    26

说明/提示

样例解释 1

  • 在第 11 次请求中,交换 A2A_2 和 A3A_3 的值。这样就得到了 A=(2,1,7,8)A=(2,1,7,8)。
  • 在第 22 次请求中,找出 A1+A2A_1+A_2 的值。答案是 2+1=32+1=3。
  • 在第 33 次请求中,交换 A1A_1 和 A2A_2 的值。这样就得到了 A=(1,2,7,8)A=(1,2,7,8)。
  • 在第 44 次请求中,找出 A2+A3+A4A_2+A_3+A_4 的值。答案是 2+7+8=172+7+8=17。

数据规模与约定

  • 2≤N≤2×1052\leq N \leq 2\times 10^5
  • 1≤Q≤5×1051\leq Q \leq 5\times 10^5
  • 1≤Ai≤1041\leq A_i \leq 10^4
  • 对于第一类请求,1≤x≤N−11\leq x \leq N-1
  • 对于第二类请求,1≤l≤r≤N1\leq l\leq r \leq N
  • 所有输入值均为整数。

输入解题思路,AI测评打分。不知道怎么写?

首页