编程题
### 问题描述 在农夫小齐的农场里,是挤奶时间了,但是所有的奶牛都逃跑了。小齐需要把它们都找回来,并需要你来协助搜索。 小齐的农场是一系列 $N$($1 \leq N \leq 200,000$)个牧场,编号从 $1$ 到 $N$,它们之间通过 $N-1$ 条双向路径相连。牛棚位于第一个牧场,从牛棚可以到达任何一个牧场。 今天早上,小齐的奶牛们还在各自的牧场里,但现在谁也不知道它们跑到哪里去了。小齐知道奶牛只会远离牛棚逃跑,并且它们太懒了,最多只会跑 $L$ 的距离。对于每个牧场,小齐想知道从该牧场出发的奶牛最终可能会到达哪些不同的牧场。 ### 输入格式 第 $1$ 行:两个整数 $N$ 和 $L$。 接下来 $N$ 行:每行包含两个整数 $p_i$ 和 $l_i$。其中,$p_i$($1 \leq p_i < i$)是牧场 $i$ 和牛棚之间最短路径上的第一个牧场,$l_i$ 是该路径的长度。 ### 输出格式 第 $1$ 行到第 $N$ 行:每行一个数字,第 $i$ 行上的数字表示从第 $i$ 个牧场出发,通过走向离牛棚更远的路径,总长度不超过 $L$ 的情况下,可能到达的牧场数量。 ### 样例输入 ``` 4 5 1 4 2 3 1 5 ``` ### 样例输出 ``` 3 2 1 1 ``` ### 评测数据规模 $1 \leq N \leq 200,000$,$1 \leq L \leq 10^{18}$。
查看答案
赣ICP备20007335号-2