CF1740E.Hanging Hearts
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Pak Chanek has n blank heart-shaped cards. Card 1 is attached directly to the wall while each of the other cards is hanging onto exactly one other card by a piece of string. Specifically, card i (i>1) is hanging onto card pi (pi<i).
In the very beginning, Pak Chanek must write one integer number on each card. He does this by choosing any permutation a of [1,2,…,n]. Then, the number written on card i is ai.
After that, Pak Chanek must do the following operation n times while maintaining a sequence s (which is initially empty):
- Choose a card x such that no other cards are hanging onto it.
- Append the number written on card x to the end of s.
- If x=1 and the number on card px is larger than the number on card x, replace the number on card px with the number on card x.
- Remove card x.
After that, Pak Chanek will have a sequence s with n elements. What is the maximum length of the longest non-decreasing subsequence† of s at the end if Pak Chanek does all the steps optimally?
† A sequence b is a subsequence of a sequence c if b can be obtained from c by deletion of several (possibly, zero or all) elements. For example, [3,1] is a subsequence of [3,2,1], [4,3,1] and [3,1], but not [1,3,3,7] and [3,10,4].
帕克·查内克有 n 张空白的心形卡片。第 1 张卡片直接贴在墙上,其余每张卡片均通过一根细绳恰好悬挂在另一张卡片上。具体而言,第 i 张卡片(i>1)悬挂在第 pi 张卡片上(满足 pi<i)。
最初,帕克·查内克必须在每张卡片上写一个整数。他通过选择 [1,2,…,n] 的任意一个排列 a 来完成此操作;然后,第 i 张卡片上所写的数字即为 ai。
随后,帕克·查内克需执行以下操作共 n 次,同时维护一个序列 s(初始为空):
- 选择一张卡片 x,使得没有其他卡片悬挂在它上面;
- 将卡片 x 上所写的数字添加到序列 s 的末尾;
- 若 x=1 且卡片 px 上的数字大于卡片 x 上的数字,则将卡片 px 上的数字替换为卡片 x 上的数字;
- 移除卡片 x。
最终,帕克·查内克将得到一个长度为 n 的序列 s。若帕克·查内克在整个过程中均采取最优策略,那么 s 的最长非递减子序列† 的最大可能长度是多少?
† 序列 b 是序列 c 的一个子序列,当且仅当 b 可通过从 c 中删除若干(可能为零个或全部)元素而得到。例如,[3,1] 是 [3,2,1]、[4,3,1] 和 [3,1] 的子序列,但不是 [1,3,3,7] 和 [3,10,4] 的子序列。
输入格式
The first line contains a single integer n (2≤n≤105) — the number of heart-shaped cards.
The second line contains n−1 integers p2,p3,…,pn (1≤pi<i) describing which card that each card hangs onto.
第一行包含一个整数 n(2≤n≤105)—— 心形卡片的数量。
第二行包含 n−1 个整数 p2,p3,…,pn(1≤pi<i),描述每张卡片所悬挂于的卡片编号。
输出格式
Print a single integer — the maximum length of the longest non-decreasing subsequence of s at the end if Pak Chanek does all the steps optimally.
输出一个整数——如果 Pak Chanek 以最优方式执行所有步骤,字符串 s 的最长非递减子序列的最大长度。
输入输出样例
输入#1
6 1 2 1 4 2
输出#1
4
输入#2
2 1
输出#2
2
说明/提示
The following is the structure of the cards in the first example.

Pak Chanek can choose the permutation a=[1,5,4,3,2,6].

Let wi be the number written on card i. Initially, wi=ai. Pak Chanek can do the following operations in order:
- Select card 5. Append w5=2 to the end of s. As w4>w5, the value of w4 becomes 2. Remove card 5. After this operation, s=[2].
- Select card 6. Append w6=6 to the end of s. As w2≤w6, the value of w2 is left unchanged. Remove card 6. After this operation, s=[2,6].
- Select card 4. Append w4=2 to the end of s. As w1≤w4, the value of w1 is left unchanged. Remove card 4. After this operation, s=[2,6,2].
- Select card 3. Append w3=4 to the end of s. As w2>w3, the value of w2 becomes 4. Remove card 3. After this operation, s=[2,6,2,4].
- Select card 2. Append w2=4 to the end of s. As w1≤w2, the value of w1 is left unchanged. Remove card 2. After this operation, s=[2,6,2,4,4].
- Select card 1. Append w1=1 to the end of s. Remove card 1. After this operation, s=[2,6,2,4,4,1].
One of the longest non-decreasing subsequences of s=[2,6,2,4,4,1] is [2,2,4,4]. Thus, the length of the longest non-decreasing subsequence of s is 4. It can be proven that this is indeed the maximum possible length.
以下是第一个示例中卡片的结构。

Pak Chanek 可以选择排列 a=[1,5,4,3,2,6]。

令 wi 表示第 i 张卡片上所写的数字。初始时,wi=ai。Pak Chanek 可按如下顺序执行以下操作:
- 选择第 5 张卡片。将 w5=2 追加到序列 s 的末尾。由于 w4>w5,w4 的值变为 2。移除第 5 张卡片。该操作后,s=[2]。
- 选择第 6 张卡片。将 w6=6 追加到序列 s 的末尾。由于 w2≤w6,w2 的值保持不变。移除第 6 张卡片。该操作后,s=[2,6]。
- 选择第 4 张卡片。将 w4=2 追加到序列 s 的末尾。由于 w1≤w4,w1 的值保持不变。移除第 4 张卡片。该操作后,s=[2,6,2]。
- 选择第 3 张卡片。将 w3=4 追加到序列 s 的末尾。由于 w2>w3,w2 的值变为 4。移除第 3 张卡片。该操作后,s=[2,6,2,4]。
- 选择第 2 张卡片。将 w2=4 追加到序列 s 的末尾。由于 w1≤w2,w1 的值保持不变。移除第 2 张卡片。该操作后,s=[2,6,2,4,4]。
- 选择第 1 张卡片。将 w1=1 追加到序列 s 的末尾。移除第 1 张卡片。该操作后,s=[2,6,2,4,4,1]。
序列 s=[2,6,2,4,4,1] 的一个最长非递减子序列为 [2,2,4,4]。因此,s 的最长非递减子序列的长度为 4。可以证明,这确实是可能达到的最大长度。
输入解题思路,AI测评打分。不知道怎么写?