QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 512 MB Puntuación total: 100 Hackeable ✓

#8481. 树上的合作博弈

Estadísticas

Sergey 和 Azat 很喜欢玩桌游。在经过数小时激烈的对抗后,他们感到疲倦,决定尝试玩合作类游戏——在这些游戏中,玩家必须相互配合以达到尽可能好的结果。幸运的是,Azat 最近刚收到这样一款游戏。

在这个游戏中,有一棵以顶点 1 为根的有根树,以及一套筹码——一个蓝色筹码和多个红色筹码。最初,一个蓝色筹码和一个红色筹码都放置在顶点 1。接下来,执行以下步骤:

  1. 第一位玩家将蓝色筹码从当前顶点移动到它的一个子节点。
  2. 如果蓝色筹码到达叶子节点(即没有子节点的顶点),游戏结束。
  3. 第二位玩家对红色筹码执行同样的操作:将其从当前顶点移动到它的一个子节点。
  4. 如果红色筹码到达叶子节点,它将永久停留在那里,不能再被移动,但在蓝色筹码当前所在的顶点放置一个新的红色筹码。之后,游戏从第 1 步继续。

游戏的目标是使树上最终留下的红色筹码尽可能多。然而,游戏开发者并没有说明游戏中可能达到的最好结果是什么,所以他们请求你计算这个信息。

输入格式

第一行包含一个数字 $n$ ($2 \le n \le 2 \cdot 10^5$),表示树的顶点数。下一行指定了 $n - 1$ 个数字 $p_2, p_3, \dots, p_n$,其中数字 $p_i$ 表示顶点 $i$ 是顶点 $p_i$ 的子节点 ($1 \le p_i < i$)。

输出格式

输出一个数字——游戏结束时树上最终能留下的红色筹码的最大数量。

样例

输入格式 1

4
1 1 3

输出格式 1

2

说明

在第一个样例中,最优的操作序列如下:第一位玩家将他的筹码移动到顶点 3,第二位玩家将他的筹码移动到顶点 2。之后,一个新的红色筹码出现在顶点 3,第一位玩家将蓝色筹码移动到顶点 4,游戏在那里结束。

输入格式 2

3
1 2

输出格式 2

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.