QOJ.ac

QOJ

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

#9016. 破坏

Estadísticas

在某家不便透露名称的机构中,上下级关系可以用一棵树来表示——除了最高领导外,每位员工都有唯一的直接上级。此外,员工按入职顺序编号,由于严格的资历规则,上级的编号总是小于其所有下属的编号。

董事会担心有破坏者潜入机构并引发叛乱。为了防止这种情况,董事会急于通过提供各种奖金、活动和桌上足球来保持员工的高昂士气。整个团队的士气由一个 $0$ 到 $1$ 之间的实数 $x$ 表示。如果任何员工意识到其下属(包括间接下属)中至少有 $x$ 的比例参与了叛乱,他们就会(出于信念或恐惧)加入叛乱,并强迫其所有下属也这样做。董事会预料到了最坏的情况:破坏者实际上已经在员工之中,但尚未暴露真实身份。当他们暴露时,他们将是第一个叛乱的人,但不会强迫其下属跟随。

董事会想知道,为了将潜在的叛乱限制在最多 $k$ 名员工以内,他们必须维持的最低士气是多少,因为他们认为这种小规模的叛乱很容易控制。请编写一个程序来为他们提供答案。

输入格式

标准输入的第一行包含两个整数 $n$ 和 $k$ ($1 \le k \le n \le 500\,000$),由一个空格分隔,分别表示机构员工人数和可以承受的叛乱员工人数上限。员工编号为 $1$ 到 $n$,最高领导的编号为 $1$。接下来的 $n-1$ 行指定了机构的结构:第 $i$ 行包含一个整数 $p_i$ ($p_i \le i$),表示员工 $i+1$ 的上级是员工 $p_i$。

输出格式

标准输出的第一行应包含一个实数,即董事会寻求的足够士气。与真实值误差不超过 $10^{-6}$ 的结果将被视为正确。

样例

输入格式 1

9 3
1
1
2
2
2
3
7
3

输出格式 1

0.6666666667

说明

对于该样例:如果士气降至 $\frac{2}{3}$ 以下,那么如果 8 号员工是破坏者,将有 4 名员工叛乱,即:3、7、8 和 9 号。

子任务

测试集由以下子任务组成。每个子任务内可能包含多个测试组。

子任务 属性 分值
1 $n \le 10$ 22
2 $n \le 1000$ 10
3 $k \le 20$ 13
4 无额外属性 55

注意:我们建议使用浮点类型 double 来存储结果。

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.