P10680 [COTS 2024] 双双决斗 Dvoboj

题目背景

译自 [Izborne Pripreme 2024 (Croatian IOI/CEOI Team Selection)](https://hsin.hr/pripreme2024/) D1T1。$\texttt{2s,1G}$。 > Two pharaonic yellow lines turned into an eye...

题目描述

Jusuf 手里有 $N$ 张卡牌,从左到右编号为 $1$ 到 $N$。每张卡牌的力量为 $p_i$。由于 Jusuf 即将参加比赛,他想要在脑中想象战斗。有时候,他也会更改卡牌的力量值。Jusuf 总共会做 $Q$ 次操作,每个操作属于以下两种类型之一: 1. `1 i r`:Jusuf 将位于位置 $i$ 的卡牌的力量设为 $r$,即 $p_i\gets r$。 2. `2 l k`:Jusuf 在脑中想象一场战斗。这场战斗使用从第 $l,l+1,\cdots,l + 2^k − 1$ 张,共 $2^k$ 张卡牌。 战斗将会进行 $k$ 轮。每轮中,Jusuf 将第 $(2i-1)$ 和第 $2i$ 张卡牌分成一组(例如第 $1$ 张和第 $2$ 张卡牌为一组)。 对于每组卡牌,Jusuf 比较它们的力量。不妨设两张卡牌的力量分别为 $A$ 和 $B$,力量更大的卡牌将获胜,且获胜卡牌的力量变为 $|A − B|$,另一张卡牌被移除。特别地,如果 $A=B$,则这场战斗的结果无法确定,将会随机一张卡牌获胜,力量变为 $0$。 注意到,在 $k$ 轮后,只会剩下一张卡牌,Jusuf 想要知道此时它的力量大小。 由于 Jusuf 只是在脑中想象战斗,所以实际上牌的数量不会改变,$p_i$ 也不会改变。

输入格式

第一行,两个正整数 $N,Q$,含义见题面。 第二行,$n$ 个整数,第 $i$ 个整数表示 $p_i$。 接下来 $Q$ 行,每行 $3$ 个正整数,描述一个操作。

输出格式

对于每个操作 $2$,输出一行一个整数,表示所求的力量大小。

说明/提示

#### 样例解释 对于样例 $1$ 的第一个询问,有: $$(\bold{\textcolor{red}{4}},8,\bold{\textcolor{red}{2}},0)\to (\bold{\textcolor{red}{4}},2)\to(2)$$ 对于样例 $1$ 的第二个询问,有: $$ (\bold{\textcolor{red}{8}},2)\to(6)$$ #### 数据范围 对于 $100\%$ 的数据,保证: - $2\le N\le 200\, 000$,$1\le Q\le 200\, 000$; - $0\le p_i\le 10^9$; - $1\le i\le N$,$0\le r\le 10^9$; - $1\le l\le N$,$1\le l+{2^k}-1\le N$。 | 子任务编号 | 分值 | 约束 | |:-----:|:------:|:-------:| | $1$ | $11$ | $N, Q \leq 1000$ | | $2$ | $13$ | $N=2^k$ | | $3$ | $16$ | $0\le p_i,r\le 1$ | | $4$ | $17$ | 不含修改操作 | | $5$ | $43$ | 无额外约束 |