题目描述了一棵以城市 1 为根的有根树,旅人在城市 u 时会遵循以下规则:
上述过程等价于在树上进行路径压缩:从 u 出发,每次跳到子树(不含 u)中编号最小的城市,直到叶子为止。因此,可以定义 f[u] 表示从城市 u 出发能够访问的城市数量。转移关系如下:
在某个王国中,有 n 座城市,由 n−1 条道路连接成一棵以首都 1 为根的树。每座城市都安放了一枚魔法徽章。一名旅人到达城市 u 时,徽章会发出指示:若以 u 为根的子树中存在其他城市,则指引他前往这些城市中编号最小的那一座;若子树中只有 u 自身(即 u 为树叶),则徽章不会给出任何指示。
旅人从某座城市出发,不断遵循徽章的指示前行,直到抵达一座没有指示的城市为止。请问,对于每座城市,从该城市出发的旅人一共能访问多少座不同的城市(包含出发城市)?
城市总数 n 满足 1≤n≤105,城市编号均为 1 至 n 的整数。
第一行包含一个整数 n,表示城市的数量。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册