AT_kupc2019_l.タケノコ
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是一个交互式问题。
有一棵起始只有一个节点的有根树 T,这个节点编号为 0。在顶点 0 上生长着一根长度为 x0 且生长速度为 y0 的竹笋。
此外,还有一个叫“竹痴君”的人在顶点 0。
你需要依次处理 Q 个查询。查询分为以下三种类型:
-
查询 1:
1 v x y—— 以顶点 v 为父节点,添加一个新顶点,该新顶点上生长一根长度为 x 且生长速度为 y 的竹笋。新顶点编号为上一个添加的顶点编号加 1(如果没有添加过则为 0)。 -
查询 2:
2 a—— 竹痴君在整棵树 T 上洒下效果为 a 的肥料,导致任意顶点的竹笋,若当前长度为 x 且生长速度为 y,其长度变化为 x+a×y。 -
查询 3:
3 v—— 询问竹痴君从根到顶点 v 的路径上(包含起点和终点)的可见竹笋有多少。竹痴君能精确数出不超过 30 根的竹笋,超过 30 根则回答为many。你需要给出他的回答。
竹痴君能看到某根竹笋 t 意味着从顶点 0 到竹笋 t 所在顶点的路径上所有节点的竹笋高度依次为 h1,h2,…,hn 时,满足 hi<hn(1≤i≤n−1)。竹痴君总能看到顶点 0 上的竹笋。
输入格式
输入从标准输入读取,格式如下:
$ Q $ $ x_0 $ $ y_0 $ $ Query_1 $ $ Query_2 $ $ \ldots $ $ Query_Q $
查询 Queryi (1≤i≤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×105
- 1≤x0≤109
- 1≤y0≤106
- 0≤v≤(最近一次添加的节点编号;如果无添加则为 0)
- 1≤x≤109
- 1≤y≤106
- −106≤a≤106
- 查询 3 的数量不超过 3×104
- 所有输入均为整数。
输入输出注意事项
- 这是一个 交互式问题。只有在每个查询 3 后输出答案才能继续接收后续输入。
- 输出的最后一行必须包括一个换行符,并刷新标准输出,否则可能会遇到
TLE。 - 如果输出格式有误,行为未定义(可能不返回
WA)。 - 由于交互特性,无论语言是什么,在最坏情况下输入输出至少需要约 4 秒。请注意时间限制。
示例说明
- 对于第一个查询,以顶点 0 为父节点,添加了编号为 1 的新顶点,该顶点上的竹笋高度为 2,生长速度为 2。
- 在第二个查询中,竹痴君数了顶点 0 和 1 上可见的竹笋。顶点 0 和 1 上的竹笋高度分别为 1 和 2,竹痴君可见这两根竹笋,因此结果是 2。
- 第三个查询,将顶点 0 和 1 上的竹笋高度变为 −1 和 −2。竹笋高度可以为负。
- 第四个查询,竹痴君寻找顶点 0 和 1 上可见的竹笋,此时顶点 1 上的竹笋不符合条件,无法观察,因此结果为 1。请注意,即使竹笋高度为负,其可见性仍旧按照题目所述处理。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?