AT_kupc2019_l.タケノコ

通过率:0%

AC君温馨提醒

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

题目描述

这是一个交互式问题。

有一棵起始只有一个节点的有根树 TT,这个节点编号为 00。在顶点 00 上生长着一根长度为 x0x_0 且生长速度为 y0y_0 的竹笋。

此外,还有一个叫“竹痴君”的人在顶点 00。

你需要依次处理 QQ 个查询。查询分为以下三种类型:

  1. 查询 1: 1 v x y —— 以顶点 vv 为父节点,添加一个新顶点,该新顶点上生长一根长度为 xx 且生长速度为 yy 的竹笋。新顶点编号为上一个添加的顶点编号加 11(如果没有添加过则为 00)。

  2. 查询 2: 2 a —— 竹痴君在整棵树 TT 上洒下效果为 aa 的肥料,导致任意顶点的竹笋,若当前长度为 xx 且生长速度为 yy,其长度变化为 x+a×yx + a \times y。

  3. 查询 3: 3 v —— 询问竹痴君从根到顶点 vv 的路径上(包含起点和终点)的可见竹笋有多少。竹痴君能精确数出不超过 30 根的竹笋,超过 30 根则回答为 many。你需要给出他的回答。

竹痴君能看到某根竹笋 tt 意味着从顶点 00 到竹笋 tt 所在顶点的路径上所有节点的竹笋高度依次为 h1,h2,…,hnh_1, h_2, \ldots, h_n 时,满足 hi<hnh_i < h_n(1≤i≤n−11 \leq i \leq n - 1)。竹痴君总能看到顶点 00 上的竹笋。

输入格式

输入从标准输入读取,格式如下:

$ Q $ $ x_0 $ $ y_0 $ $ Query_1 $ $ Query_2 $ $ \ldots $ $ Query_Q $

查询 QueryiQuery_i (1≤i≤Q1 \leq i \leq Q) 按上述三种类型之一给出。

输出格式

对于每个查询 3,输出你预测的答案。

输入输出样例

  • 输入#1

    4 1 1
    1 0 2 2
    3 1
    2 -2
    3 1

    输出#1

    2
    1
  • 输入#2

    12 1 1
    1 0 5 1
    1 1 2 3
    2 1
    3 2
    1 2 1 5
    2 2
    3 3
    1 2 1 1
    2 -4
    3 3
    2 5
    3 4

    输出#2

    2
    3
    2
    3
  • 输入#3

    34 1 1
    1 0 1 2
    1 1 1 3
    1 2 1 4
    1 3 1 5
    1 4 1 6
    1 5 1 7
    1 6 1 8
    1 7 1 9
    1 8 1 10
    1 9 1 11
    1 10 1 12
    1 11 1 13
    1 12 1 14
    1 13 1 15
    1 14 1 16
    1 15 1 17
    1 16 1 18
    1 17 1 19
    1 18 1 20
    1 19 1 21
    1 20 1 22
    1 21 1 23
    1 22 1 24
    1 23 1 25
    1 24 1 26
    1 25 1 27
    1 26 1 28
    1 27 1 29
    1 28 1 30
    1 29 1 31
    3 30
    2 1
    3 29
    3 30

    输出#3

    1
    30
    many

说明/提示

  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • 1≤x0≤1091 \leq x_0 \leq 10^9
  • 1≤y0≤1061 \leq y_0 \leq 10^6
  • 0≤v≤0 \leq v \leq(最近一次添加的节点编号;如果无添加则为 00)
  • 1≤x≤1091 \leq x \leq 10^9
  • 1≤y≤1061 \leq y \leq 10^6
  • −106≤a≤106-10^6 \leq a \leq 10^6
  • 查询 3 的数量不超过 3×1043 \times 10^4
  • 所有输入均为整数。

输入输出注意事项

  • 这是一个 交互式问题。只有在每个查询 3 后输出答案才能继续接收后续输入。
  • 输出的最后一行必须包括一个换行符,并刷新标准输出,否则可能会遇到 TLE。
  • 如果输出格式有误,行为未定义(可能不返回 WA)。
  • 由于交互特性,无论语言是什么,在最坏情况下输入输出至少需要约 44 秒。请注意时间限制。

示例说明

  • 对于第一个查询,以顶点 00 为父节点,添加了编号为 11 的新顶点,该顶点上的竹笋高度为 22,生长速度为 22。
  • 在第二个查询中,竹痴君数了顶点 00 和 11 上可见的竹笋。顶点 00 和 11 上的竹笋高度分别为 11 和 22,竹痴君可见这两根竹笋,因此结果是 22。
  • 第三个查询,将顶点 00 和 11 上的竹笋高度变为 −1-1 和 −2-2。竹笋高度可以为负。
  • 第四个查询,竹痴君寻找顶点 00 和 11 上可见的竹笋,此时顶点 11 上的竹笋不符合条件,无法观察,因此结果为 11。请注意,即使竹笋高度为负,其可见性仍旧按照题目所述处理。

本翻译由 AI 自动生成

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

首页