AT_agc009_b.[AGC009B] Tournament

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个人参加了一场比赛。这场比赛采用淘汰赛制,总共进行了 N−1N-1 场比赛。由于各种原因,这个淘汰赛的赛程并不一定对所有参赛者都是公平的。也就是说,每个人为了获得冠军所需的胜场数并不一定相同。淘汰赛的结构将在题目末尾正式定义。

每场比赛必定有一方获胜,另一方失败,最终未曾输过的那个人获得冠军。

下图是一个淘汰赛的例子:

每个人编号为 11 到 NN,其中 11 号选手获得了冠军,除了冠军以外的每个选手 ii(2≤i≤N2 \leq i \leq N)都在与 aia_i 号选手的比赛中输掉了比赛。

淘汰赛的深度定义为:对于所有选手,为了获得冠军所需的胜场数的最大值。

请你求出可能的最小淘汰赛深度。

淘汰赛的结构正式定义如下。在第 ii 场比赛中:

  • 由预先指定的两名尚未参加过比赛的选手进行比赛;
  • 或由预先指定的一名尚未参加过比赛的选手与第 jj 场比赛(j<ij < i)的获胜者进行比赛;
  • 或由预先指定的第 jj 场(j<ij < i)和第 kk 场(k<i,j≠kk < i, j \neq k)的获胜者进行比赛。

上述三种情况中任选其一的两人进行比赛。只要无论比赛结果如何,都不会出现已经输过比赛的人再次参赛的情况,这样的结构就称为淘汰赛。

输入格式

输入通过标准输入给出,格式如下:

NN a2a_2 a3a_3 ... aNa_N

输出格式

输出可能的最小淘汰赛深度。

输入输出样例

  • 输入#1

    5
    1
    1
    2
    4

    输出#1

    3
  • 输入#2

    7
    1
    2
    1
    3
    1
    4

    输出#2

    3
  • 输入#3

    4
    4
    4
    1

    输出#3

    3

说明/提示

限制条件

  • 2≤N≤1052 \leq N \leq 10^5
  • 1≤ai≤N (2≤i≤N)1 \leq a_i \leq N\ (2 \leq i \leq N)
  • 存在与输入比赛结果相符的淘汰赛结构

样例解释 1

以下是满足条件的比赛结果:

  • 第 1 场比赛,4 号与 5 号选手对战,4 号获胜
  • 第 2 场比赛,2 号与 4 号选手对战,2 号获胜
  • 第 3 场比赛,1 号与 3 号选手对战,1 号获胜
  • 第 4 场比赛,1 号与 2 号选手对战,1 号获胜

在这个淘汰赛中,5 号选手若要获得冠军需要赢下 3 场比赛,因此淘汰赛的深度为 3。反之,不存在深度不超过 2 且满足条件的淘汰赛,因此输出 3。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页