#P15732. [JAG 2024 Summer Camp #2] Do Make Segment Tree

    ID: 15670 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>2024ICPC斜率维护技巧 slope trick闵可夫斯基和 Minkowski sum

[JAG 2024 Summer Camp #2] Do Make Segment Tree

说明

给定一个长度为 2N12^N - 1 的整数序列 B=(B1,B2,,B2N1)B = (B_1, B_2, \ldots, B_{2^N - 1}),定义 f(B)f(B) 如下:

  • f(B)f(B) 是使以下条件成立所需的最少操作次数:
    • 操作:选择一个整数 ii,满足 1i2N11 \leq i \leq 2^N - 1,并将 BiB_i 增加 11 或减少 11
    • 条件:对于所有满足 1i2N111 \leq i \leq 2^{N-1} - 1ii,条件 Bi=B2i+B2i+1B_i = B_{2i} + B_{2i+1} 应被满足。

给定一个长度为 2N12^N - 1 的序列 A=(A1,A2,,A2N1)A = (A_1, A_2, \ldots, A_{2^N - 1})

处理 QQ 个查询。对于每个查询 ii(其中 1iQ1 \leq i \leq Q):

  • 给定整数 xix_iviv_i,将 AxiA_{x_i} 更新为 viv_i,然后输出 f(A)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}$$
  • 2N182 \leq N \leq 18
  • 1Q100,0001 \leq Q \leq 100,000
  • 109Ai109-10^9 \leq A_i \leq 10^9
  • 1xi2N11 \leq x_i \leq 2^N - 1
  • 109vi109-10^9 \leq v_i \leq 10^9
  • 所有输入值均为整数。

输出格式

输出 QQ 行。在第 ii 行输出第 ii 个查询的答案。

3
2 3 0 1 -5 2 1
5
3 1
5 3
6 -1
5 1
1 0
9
5
3
2
4