P15732 [JAG 2024 Summer Camp #2] Do Make Segment Tree
题目描述
给定一个长度为 $2^N - 1$ 的整数序列 $B = (B_1, B_2, \ldots, B_{2^N - 1})$,定义 $f(B)$ 如下:
- $f(B)$ 是使以下条件成立所需的最少操作次数:
- 操作:选择一个整数 $i$,满足 $1 \leq i \leq 2^N - 1$,并将 $B_i$ 增加 $1$ 或减少 $1$。
- 条件:对于所有满足 $1 \leq i \leq 2^{N-1} - 1$ 的 $i$,条件 $B_i = B_{2i} + B_{2i+1}$ 应被满足。
给定一个长度为 $2^N - 1$ 的序列 $A = (A_1, A_2, \ldots, A_{2^N - 1})$。
处理 $Q$ 个查询。对于每个查询 $i$(其中 $1 \leq i \leq Q$):
- 给定整数 $x_i$ 和 $v_i$,将 $A_{x_i}$ 更新为 $v_i$,然后输出 $f(A)$。
输入格式
输入以如下格式给出:
$$
\begin{aligned}
&N \\
&A_1 \ A_2 \ \ldots \ A_{2^N - 1} \\
&Q \\
&x_1 \ v_1 \\
&x_2 \ v_2 \\
&\vdots \\
&x_Q \ v_Q
\end{aligned}
$$
- $2 \leq N \leq 18$
- $1 \leq Q \leq 100,000$
- $-10^9 \leq A_i \leq 10^9$
- $1 \leq x_i \leq 2^N - 1$
- $-10^9 \leq v_i \leq 10^9$
- 所有输入值均为整数。
输出格式
输出 $Q$ 行。在第 $i$ 行输出第 $i$ 个查询的答案。