AT_1_ttpc2024_1_c.Segment Tree

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给你一个无向图 GG,它包含 2N+12^N + 1 个顶点和 2N+1−12^{N+1} - 1 条边。顶点的编号分别是 0,1,…,2N0, 1, \dots, 2^N,边的编号为 1,2,…,2N+1−11, 2, \dots, 2^{N+1}-1。

图中的边分为 N+1N+1 种类型,从类型 00 到类型 NN。第 ii 种类型(0≤i≤N0 \le i \le N)的边总共有 2i2^i 条,编号依次为 2i+0,2i+1,…,2i+(2i−1)2^i + 0, 2^i + 1, \dots, 2^i + (2^i - 1)。编号为 2i+j2^i + j 的边(0≤j≤2i−10 \le j \le 2^i - 1)连接顶点 j×2N−ij \times 2^{N-i} 和顶点 (j+1)×2N−i(j + 1) \times 2^{N-i},边的长度为 C2i+jC_{2^i + j}。

例如,当 N=3N = 3 时,图 GG 如下图所示。

你需要处理 QQ 个查询,查询分为两种类型:

  • 1 j x:将编号为 jj 的边的长度更新为 xx。
  • 2 s t:询问从顶点 ss 到顶点 tt 的最短路径长度。

输入格式

输入包括以下内容。注意,顶点编号从 00 开始,而边的编号从 11 开始。

NN C1C_1 C2C_2 ⋯\cdots C2N+1−1C_{2^{N+1}-1} QQ query1\text{query}_1 query2\text{query}_2 ⋮\vdots queryQ\text{query}_Q

每个 queryi\text{query}_i 表示第 ii 个查询,查询有以下两种格式之一:

1 jj xx

2 ss tt

输出格式

对于每一个 2 s t 类型的查询,输出一行答案,共计 mm 行,其中 mm 是 2 s t 查询的数量。第 ii 行对应第 ii 个 2 s t 查询的结果。

输入输出样例

  • 输入#1

    3
    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

说明/提示

  • 输入的所有数值均为整数。
  • 1≤N≤181 \le N \le 18
  • 1≤Cj≤1071 \le C_j \le 10^7,$ (1\le j\le 2^{N+1}-1$)
  • 1≤Q≤2×1051 \le Q \le 2 \times 10^5
  • 对于 1 j x 类型的查询,1≤j≤2N+1−11 \le j \le 2^{N+1}-1 且 1≤x≤1071 \le x \le 10^7
  • 对于 2 s t 类型的查询,0≤s<t≤2N0 \le s < t \le 2^N
  • 至少存在一个 2 s t 类型的查询

部分得分

如果在不包含 1 j x 类型查询的数据集上正确解答,可以获得 3030 分。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页