P12829 「DLESS-2」XOR and Inversion

题目描述

给定 $0\sim 2^n-1$ 的排列 $p$,下标从 $0$ 开始,$q$ 次操作,每次操作形如以下两种中的一种: - `1 x`: 将排列中的每个元素 $p_i$ 替换为 $p_i \oplus x$。 - `2 x`: 重新排列 $p$。对于每一个下标 $i$,操作后下标 $i$ 处的新元素是操作前下标 $i \oplus x$ 处的元素。 其中 $\oplus$ 表示按位异或运算。操作有后效性。 每次操作后,求出整个序列的逆序对数。

输入格式

本题有多组测试数据,第一行输入一个正整数 $T$,代表数据组数。 对于每组数据: 第一行输入两个数 $n,q$。 第二行输入 $2^n$ 个数,代表排列 $p$。 接下来 $q$ 行,每行两个数,代表一次操作,格式如题目描述所示。

输出格式

在每次操作后,输出一行一个数,代表答案。

说明/提示

对于所有数据,保证: - $1\le T\le 10^5$ - $1\le 2^n,\sum 2^n\le 2^{20}$ - $1\le q,\sum q\le 10^6$ - $0\le x