QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 1024 MB 총점: 100

#15556. 雪崩

통계

在 Joshua 识破了 Alexander 企图伪造雪花照片(参见 https://open.kattis.com/problems/falskflinga )的诡计之后,Alexander 变得充满怨恨并对雪产生了执念。他想出了一个邪恶的终极计划,这可能会置 Joshua 于死地,而计划的第一步就是邀请他去滑雪。

现在,他们一起身处一个巨大的滑雪系统中,该系统包含 $N$ 个编号为 $1$ 到 $N$ 的滑雪村庄。这些村庄由 $N - 1$ 条单向滑雪坡道连接。滑雪系统的顶部是 $1$ 号村庄,从那里出发,可以通过向下一条或多条滑雪坡道到达其他所有村庄。其余的每个村庄都恰好有一条坡道导入。

Alexander 邪恶终极计划的第二步是在滑雪系统中制造一场雪崩。他计划通过在其中一个村庄制造巨大的噪音来实现这一目标。该村庄的积雪随后将沿着所有从该村庄出发的坡道滚落。积雪将尽可能远地向所有下方方向持续滚落。雪崩造成的伤害是受影响的村庄数量。

Joshua 注意到 Alexander 似乎有些神志不清,并看穿了 Alexander 的邪恶计划。众所周知,Joshua 动手能力极强,他可以选择一些村庄并在其中建造防护墙。在某个村庄建造防护墙可以阻止雪崩波及该村庄。Alexander 无法从建有防护墙的滑雪村庄发起雪崩。

但时间紧迫,在向其他滑雪者发出即将发生危险的警告后,Joshua 仅有时间在 $K$ 个不同的村庄中建造防护墙。Joshua 不知道 Alexander 会在哪个村庄制造噪音,但他希望最小化受影响的村庄数量。

首先,Joshua 将建造这 $K$ 面防护墙,以使 Alexander 所能造成的最大伤害最小化。然后,Alexander 会在能造成最大可能伤害的村庄制造噪音。你的任务是计算该伤害,即受雪崩影响的村庄数量。

输入格式

输入的第一行包含两个整数 $N$ 和 $K$($1 \le K < N \le 10^5$),分别表示滑雪系统中的村庄数量以及 Joshua 可以建造的防护墙数量。

接下来的一行包含 $N - 1$ 个整数 $a_1, a_2, \dots, a_{N-1}$,其中 $1 \le a_i \le i$。对于每个 $i = 1, 2, \dots, N - 1$,存在一条从编号为 $a_i$ 的村庄到编号为 $i + 1$ 的村庄的单向滑雪坡道。

输出格式

输出一个整数:在 Joshua 以最优方式建造防护墙的情况下,Alexander 所能造成的最大伤害。

子任务

你的解法将在多个测试点组上进行测试。要获得某个组的分数,必须通过该组中的所有测试用例。

子任务 分值 数据范围
1 10 对于所有 $1 \le i \le N - 1$,满足 $a_i = i$
2 10 $K = 1, N \le 1000$
3 10 $N \le 20$
4 15 $K = 1$
5 25 $N \le 1000$
6 30 无附加限制

样例

输入样例 1

5 2
1 2 1 1

输出样例 1

1

输入样例 2

7 1
1 1 2 2 3 3

输出样例 2

3

输入样例 3

7 2
1 2 2 4 1 6

输出样例 3

2

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1809EditorialOpenNew Editorial for Problem #15556dyzets2026-05-25 23:57:37View

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.