QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 256 MB Puntuación total: 100

#4734. 地铁

Estadísticas

给定一个整数 $K$,请生成一棵节点数最少的树,使得树中恰好有 $K$ 对节点 $(X, Y)$ 满足 $X$ 是 $Y$ 的祖先。

输入格式

输入包含一个整数 $K$,表示满足特定属性的节点对数量。

输出格式

输出包含 $N+1$ 行,表示生成的树,节点编号从 $0$ 开始。

第一行包含一个整数 $N$,表示树中的节点数量。

接下来的 $N$ 行,每行包含两个整数 $X$ 和 $T$,中间用空格隔开,含义如下:节点 $T$ 是节点 $X$ 的直接祖先。如果节点 $X$ 没有直接祖先,则 $T$ 的值为 $-1$。

数据范围

子任务 分值 限制
1 20 分 $0 \le K \le 50$
2 30 分 $0 \le K \le 500$
3 50 分 $0 \le K \le 10^9$

对于每个测试点,得分规则如下: 1. 若 $N_{participant} = N_{committee}$,得 100% 的分数。 2. 若 $N_{participant} \in [N_{committee} + 1, N_{committee} + 2]$,得 80% 的分数。 3. 若 $N_{participant} \ge N_{committee} + 3$,得 $P\%$ 的分数,其中 $P = \frac{N_{committee} + 3}{N_{participant}} \times 50$。

注:$N_{committee}$ 是满足该属性的树所能拥有的最少节点数。

样例

样例输入 1

2

样例输出 1

3
0 -1
1 0
2 0

说明 1

共有 2 对 $(X, Y)$ 满足 $X$ 是 $Y$ 的祖先: 1. $(X, Y) = (0, 1)$ 2. $(X, Y) = (0, 2)$

样例输入 2

4

样例输出 2

4
0 -1
1 0
2 0
3 2

说明 2

共有 4 对 $(X, Y)$ 满足 $X$ 是 $Y$ 的祖先: 1. $(X, Y) = (0, 1)$ 2. $(X, Y) = (0, 2)$ 3. $(X, Y) = (0, 3)$ 4. $(X, Y) = (2, 3)$

Figure 1. 样例 1 对应的树结构

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.