QOJ.ac

QOJ

حد الوقت: 1.0 s حد الذاكرة: 512 MB مجموع النقاط: 100

#8906. 斜坡上的蜗牛

الإحصائيات

蜗牛在山坡上爬行。它悄悄爬上富士山顶,想要下山。山坡上有一套路径系统,构成了一棵有根二叉树。

这棵树包含 $n$ 个顶点,由 $n-1$ 条路径连接。山顶是树的根。在某些顶点处路径结束,这些顶点是树的叶子。除了叶子之外,从每个顶点向下坡方向恰好引出两条路径,一条通向左侧,另一条通向右侧。

蜗牛想要从根节点出发,沿树向下爬行,到达其中一个叶子节点。它将沿着路径向下移动。在路径上的每个顶点,蜗牛可以选择两个方向之一继续下行:向左或向右。

蜗牛可以在根节点选择任意两个方向之一开始下行。在随后的每个顶点,如果蜗牛选择的方向与它在上一顶点选择的方向不同,则视为完成了一次“转弯”。

由于转弯对蜗牛来说很不方便,因此在从根节点到叶子节点的整个路径上,蜗牛最多愿意进行 $k$ 次转弯。

我们将树的顶点从 $1$ 到 $n$ 编号,根节点的编号为 $1$。给定 $q$ 个查询。每个查询由一个顶点 $u_i$ 描述。你需要求出:如果蜗牛从根节点出发,进行不超过 $k$ 次转弯,且路径必须经过顶点 $u_i$,那么它最终能到达的叶子节点有多少个。

输入格式

第一行包含三个整数 $n, k$ 和 $q$ —— 树的顶点数、蜗牛愿意进行的最大转弯次数以及查询次数 ($3 \le n \le 200\,000$; $0 \le k \le n$; $1 \le q \le 200\,000$)。

接下来的 $n$ 行描述了这棵树。第 $i$ 行首先给出一个整数 $t_i$ —— 从第 $i$ 个顶点引出的路径数量 ($t_i = 0$ 或 $t_i = 2$)。如果 $t_i = 2$,则该行后面紧跟两个整数 $l_i$ 和 $r_i$ —— 分别是从顶点 $i$ 出发的左侧和右侧路径所指向的顶点编号 ($1 \le l_i, r_i \le n$)。保证此描述对应于一棵以 $1$ 为根的有根二叉树。

接下来的 $q$ 行包含查询。第 $i$ 行包含一个整数 $u_i$ —— 路径必须经过的顶点编号 ($1 \le u_i \le n$)。

输出格式

对于每个查询,在新的一行输出答案 —— 即满足从根节点出发、向下爬行、路径上转弯次数不超过 $k$ 且经过顶点 $u_i$ 的条件下,蜗牛能够到达的叶子节点数量。

子任务

子任务 分值 附加限制 依赖子任务
1 11 $n \le 500, q \le 500$
2 12 $n \le 500, q \le 500$ 1
3 10 $k = n$
4 14 $k = 0$
5 19 所有查询中 $u_i$ 均为叶子 1
6 34 无附加限制 1–5

样例

输入 1

7 1 4
2 2 4
0
2 6 5
2 3 7
0
0
0
1
4
3
5

输出 1

3
2
1
0

说明

(a) 样例中的树结构。

(b) 蜗牛必须经过顶点 1,它可以到达叶子 2, 6 和 7。

(c) 蜗牛必须经过 4,它可以到达 6 和 7。

(d) 蜗牛必须经过 3,它只能到达叶子 6。

(e) 蜗牛必须经过 5,但到达该顶点的路径已经包含超过一次转弯。因此,不存在满足所有限制并能让蜗牛完成路径的叶子。

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.