#P15028. [2026省选联测]碰大碰车战

    ID: 14244 传统题 2000ms 512MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>CF2400数据结构树形DP线段树最短路动态规划

[2026省选联测]碰大碰车战

题目描述

仵沉蛋有一棵 zkw 线段树,它是一棵满二叉树,它的每个节点 ii 都有其对应的区间 [li,ri][l_i,r_i] 和权值 wiw_i

根节点 11 是该线段树的根节点,满足 l1=1,r1=2nl_1=1,r_1=2^n

对于每个满足 ri>lir_i>l_i 的节点 ii,令 Mi=li+ri2M_i=\lfloor\dfrac{l_i+r_i}{2}\rfloor,则:

节点 ii 的左儿子为节点 2×i2\times i,并且满足 l2×i=li,r2×i=Mil_{2\times i}=l_i,r_{2\times i}=M_i

节点 ii 的右儿子为节点 2×i+12\times i+1,并且满足 l2×i+1=Mi+1,r2×i+1=ril_{2\times i+1}=M_i+1,r_{2\times i+1}=r_i

对于 li=ril_i=r_i 的节点 ii,该节点为叶子。

肚子的有一张包含 2n+12^n+1 个节点的图,节点编号从 002n2^n。他想要对于 zkw 线段树上的每个节点 ii,在 li1l_i-1rir_i 间连边权为 wiw_i 的无向边。

现在他要求你执行两种类型共 qq 个操作:

  • 1 j v :将 wjw_j 变为 vv
  • 2 s t :求出图上点 ss 和点 tt 间的最短路。

输入格式

第一行两个整数 nnoo,其中 oo 表示子任务编号。

第二行包含 2n+112^{n+1}-1 个整数,第 ii 个表示 wiw_i

第三行一个整数 qq,表示操作的个数。

接下来 qq 行每行三个整数,表示一个操作。

输出格式

对于每个询问操作,输出一行一个整数表示答案。

样例输入 1

3 0
7 1 14 3 9 4 8 2 6 5 5 13 8 2 3
10
2 0 1
2 0 4
2 4 6
2 4 8
2 3 5
1 6 30
2 3 5
2 4 6
1 1 10000000
2 0 8

样例输出 1

2
1
4
8
17
18
13
15

样例 2~7

见附加文件。分别满足每个子任务的限制。

数据范围

对于所有数据满足 $1\le n\le 18,1\le w_i\le 10^7,1\le q\le 2\times 10^5$。

子任务编号 特殊性质 分值
11 n10,q1000n\le 10,q\le 1000 2020
22 对于每组询问都有 s=0,t=2ns=0,t=2^n 1212
33 wi=1w_i=1,没有操作 11 1616
44 没有操作 11
55 对于每组询问都有 s=0s=0
66 2020