#P6258. [ICPC 2019 WF] Hobson's Trains

[ICPC 2019 WF] Hobson's Trains

Description

Hobson 先生从管理马厩的工作中退休后,投资于一种更加现代的交通方式:火车。

他已经修建了一个包含 nn 个火车站的铁路网。然而,他兑现了让乘客摆脱选择困难症的承诺:对于每个站点,乘客只能乘坐火车前往一个站点,别无其它选择。

这样的一段旅程被称作一趟。要注意这是单向的旅程,可能无法再回到出发点。

Hobson 同样也只提供一种车票,允许乘客一次旅行的距离不超过 kk 趟。在每个站点的出口会有一个自动读票机(只有一个,所以乘客就不用纠结于要用哪个)。机器会检查从始发站到到达站的距离是否不超过 kk 趟。

每个读票机必须编入一个合法始发站列表,但是列表消耗的存储空间越多,机器就越贵。

请帮助 Hobson 先生确定:对于每个站点 AA,能够在最多 kk 趟的旅程中到达 AA 的站点个数(包含 AA 本身)。

上图为样例输入 1 对应的示意图。每个圆圈代表了一个站点,圆圈旁边的数字为当 k=2k=2 时需要编入读票机的站点编号。

Input Format

第一行包含两个整数 n,kn, knn 为站点个数,kk 为一张票允许旅行的最多趟数。
接下来 nn 行,第 ii 行包含一个整数 did_i,表示第 ii 个站点经过一趟到达的站点。

Output Format

输出 nn 行,第 ii 行输出能在 kk 趟内到达站点 ii 的站点数目。

【译者注】

在不侵犯原题版权的情况下,本题面中文翻译基于知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议发布,注明出处时需指向本题链接。

Translate By @小粉兔

6 2
2
3
4
5
4
3

1
2
4
5
3
1
5 3
2
3
1
5
4

3
3
3
2
2

Hint

对于全部数据,满足 2n5×105,1kn12\le n\le 5 \times 10^5,1\le k\le n - 1,对于任意 1in1 \le i \le n 都满足 1din1 \le d_i \le ndiid_i\ne i