QOJ.ac

QOJ

시간 제한: 1.0 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#14404. 处理序列

통계

考虑一个长度为 $2^n - 1$ 的整数序列 $b = (b_1, b_2, \dots, b_{2^n - 1})$。

设 $f(b)$ 为使以下条件成立所需的最少操作次数:

  • 操作:选择一个整数 $i$ 满足 $1 \le i \le 2^n - 1$,并将 $b_i$ 增加或减少 $1$。
  • 条件:对于所有满足 $1 \le i \le 2^{n-1} - 1$ 的 $i$,等式 $b_i = b_{2i} + b_{2i+1}$ 必须成立。

给你一个长度为 $2^n - 1$ 的序列 $a = (a_1, a_2, \dots, a_{2^n - 1})$。处理 $q$ 次询问。对于每次询问 $i$(其中 $1 \le i \le q$):给定整数 $x_i$ 和 $v_i$,将 $a_{x_i}$ 修改为 $v_i$,然后输出 $f(a)$。

对序列的修改在询问之间是持续生效的。例如,第二次询问处理的是先经过 $a_{x_1} \leftarrow v_1$ 修改,再经过 $a_{x_2} \leftarrow v_2$ 修改后的序列。

输入格式

第一行包含一个整数 $n$($2 \le n \le 18$)。

第二行包含 $2^n - 1$ 个整数:序列 $a$($-10^9 \le a_i \le 10^9$)。

第三行包含一个整数 $q$:询问的数量($1 \le q \le 10^5$)。

接下来的 $q$ 行,每行包含两个整数 $x_i$ 和 $v_i$:第 $i$ 次询问的参数($1 \le x_i \le 2^n - 1$,$-10^9 \le v_i \le 10^9$)。

输出格式

输出 $q$ 行。在第 $i$ 行中,输出第 $i$ 次询问的答案。

样例

样例输入 1

3
2 3 0 1 -5 2 1
5
3 1
5 3
6 -1
5 1
1 0

样例输出 1

9
5
3
2
4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.