QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#15424. 바다거북 스프

統計

문제 설명

한 회사는 사원 번호가 $1, 2, \dots, n$인 $n$명의 구성원으로 이루어져 있습니다. 구성원 $1$은 사장이며, 다른 모든 구성원 $i$ ($2 \le i \le n$)에게는 직속 상사 $f_i$ ($1 \le f_i < i$)가 있습니다. 회사의 구조는 구성원 $1$을 루트로 하는 루트 있는 트리를 이룹니다.

이 회사에서 구성원 $a$가 구성원 $b$를 안다는 것은 다음 조건 중 적어도 하나를 만족하는 것과 동치입니다:

  • $a = b$이다.
  • $b$가 $a$의 조상이다. 즉, $u_1 = a$, $u_k = b$이고 모든 $2 \le i \le k$에 대해 $u_i = f_{u_{i-1}}$을 만족하는 수열 $u_1, u_2, \dots, u_k$ ($2 \le k$)가 존재한다.
  • $b$가 $a$의 직접적인 자식이다($b$가 $a$의 직속 부하이다). 즉, $f_b = a$이다.

안다는 관계는 반드시 대칭적이지 않음에 유의하세요. 즉, $a$가 $b$를 안다고 해서 $b$가 $a$를 아는 것은 아닙니다.

이제 구성원들이 게임을 하고 있습니다. 각 라운드에서 특정 구성원 $m$은 질문자 역할을 하고, 다른 구성원 $p$는 타깃이 됩니다. $p$는 항상 $m$이 모르는 구성원임이 보장됩니다.

$p$가 누구인지 알아내기 위해 $m$은 일련의 질문을 던집니다. 각 질문에서 $m$은 번호 $x$를 하나 골라 "$p$는 구성원 $x$를 압니까?"라고 묻습니다. 구성원 $p$는 항상 진실만을 답합니다. 또한 만약 $x = p$라면, $p$는 자신이 바로 구성원 $x$임을 특별히 밝히며, 그 즉시 게임이 종료됩니다.

각 질문에는 회사 트리를 기반으로 한 이동 비용이 발생합니다. $i$번째 질문이 구성원 $x_i$에 관한 것이라면, 해당 질문의 비용은 $dis(x_{i-1}, x_i)$이며, 여기서 $dis(a, b)$는 트리에서 $a$와 $b$를 잇는 유일한 경로 위의 간선 개수를 의미합니다. 첫 번째 질문($i = 1$)의 비용은 $dis(m, x_1)$입니다.

구성원 $m$은 매우 영리하여 최악의 경우에도 게임을 끝내는 데 필요한 총비용을 최소화하는 최적의 전략을 사용합니다. 당신의 과제는 가능한 모든 질문자 $m \in \{1, 2, \dots, n\}$에 대해 이 최소 최악 비용을 계산하는 것입니다.

만약 구성원 $m$이 이미 회사의 모든 사람을 알고 있다면, 해당 $m$에 대한 답은 $0$입니다.

입력

입력의 첫 번째 줄에는 회사의 전체 구성원 수를 나타내는 정수 $n$ ($1 \le n \le 10^5$)이 주어집니다.

두 번째 줄에는 $f_2, f_3, \dots, f_n$을 나타내는 $n - 1$개의 정수가 주어집니다. $1 \le f_i < i$를 만족합니다.

출력

$m = 1, m = 2, \dots, m = n$인 경우에 대한 정답을 나타내는 $n$개의 정수를 공백으로 구분하여 한 줄에 출력합니다.

예제

예제 입력 1

3
1 1

예제 출력 1

0 2 2

예제 입력 2

5
1 1 3 2

예제 출력 2

4 3 3 4 4

예제 입력 3

6
1 1 2 2 3

예제 출력 3

4 3 5 4 4 6

노트

예제 3에서 $m = 4$인 경우를 설명하자면 다음과 같습니다. 먼저 그림에 나타나 있듯이 구성원 $m$은 구성원 $\{3, 5, 6\}$을 모릅니다. 가능한 최적 전략 중 하나는 먼저 $p$가 구성원 $2$를 아는지 비용 $1$을 들여 묻는 것입니다. 만약 안다면 $p = 5$임을 의미하므로, 다음 단계에서 구성원 $5$에 대해 물어 총비용 $2$로 게임을 끝낼 수 있습니다. 그렇지 않다면 계속해서 비용 $2$를 들여 $p$가 구성원 $3$을 아는지 묻습니다. 만약 $p = 3$이라면 총비용 $3$으로 게임이 끝납니다. 그렇지 않다면 $p = 6$임을 의미하므로, 다음 단계에서 비용 $1$을 들여 구성원 $6$에 대해 물어 총비용 $4$로 게임을 끝냅니다. 따라서 이 전략은 최악의 경우 $4$의 비용이 필요합니다. 다른 어떤 전략으로도 최악의 경우 질문 비용을 이보다 더 줄일 수 없음을 증명할 수 있습니다.

다이어그램

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.