Type: Default 1000ms 256MiB

扰乱神器

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目信息

时间限制: 1s

空间限制: 512M

输入文件: dr.in

输出文件: dr.out

题目描述

D 君是潜伏在 Mars 星的间谍,D 君携带着从母星带来的扰乱神器,用于扰乱 Mars 星的晶体防御序列。Mars 星的晶体防御序列由 2n2^n 块晶体组成,第 ii 块晶体的能量为 pip_i晶体防御序列的扰乱度定义为序列中的逆序对数,由于 Mars 星的晶体存在自适应能力,如果某个固定的防御序列持续过久,该序列的扰乱度就不再对晶体防御序列造成威胁了。因此 D 君对 Mars 星的晶体防御序列进行了 mm 次扰乱,第 ii 次扰乱可以用 qi,li,riq_i, l_i, r_i 表示:

  • 将晶体防御序列分为 2qi2^{q_i} 个大小为 2nqi2^{n-q_i} 的块。
  • 选择第 lil_i 到第 rir_i 个块。
  • 对于每个选择的块, 将其翻转。

D 君想知道每次扰乱操作后, 整个晶体防御序列的扰乱度。

输入格式

第一行为两个正整数 n,mn, m

第二行 2n2^n 个整数 p1,p2,p2np_1, p_2, \cdots p_{2^n},为给定的晶体防御序列。

接下来 mm 行,每行 3 个非负整数 qi,li,riq_i, l_i, r_i,表示一次扰乱操作。

输出格式

mm 行,每行一个整数,为每次操作后晶体防御序列的扰乱度。

样例

样例输入1

3 10
7 3 3 3 8 6 5 3
1 1 1
2 2 2
2 1 3
1 1 2
0 1 1
2 2 2
0 1 1
0 1 1
1 1 1
1 1 2

样例输出1

9
10
8
7
15
14
8
14
12
17

数据范围与提示

对于所有数据,$1 \leq n \leq 20, 1 \leq p_i \leq 2^n, 1 \leq m \leq 10^5, 0 \leq q_i < n, 1 \leq l_i \leq r_i \leq 2^{q_i}$

子任务编号 分值 nn \leq mm \leq 特殊性质
1 10 5 10
2 10 1000
3 20 20 10510^5 li=1,ri=2qil_i=1, r_i=2^{q_i}
4 li=ril_i=r_i
5 40

8.21日竞赛3班训练

Not Attended
Status
Done
Rule
IOI
Problem
6
Start at
2025-8-21 18:00
End at
2025-8-21 21:00
Duration
3 hour(s)
Host
Partic.
9