P14799 [JOI 2026 二次预选] 比太郎之旅 3 / Bitaro's Travel 3
题目描述
JOI 国由 $N$ 个城市和连接它们的 $M$ 条道路构成。城市被编号为 $1$ 到 $N$,道路被编号为 $1$ 到 $M$。道路 $i \ (1 \le i \le M)$ 双向连接城市 $A_i$ 和城市 $B_i$。这里,$A_i < B_i$。此外,对于任意两个城市的配对,连接它们的道路最多只有 $1$ 条。也就是说,$A_i \ne A_j$ 或 $B_i \ne B_j \ (1 \le i < j \le M)$。
比太郎现在在城市 $s$,正在制定旅行计划。旅行计划用数列 $v = (v_1, v_2, \dots)$ 表示,它表示比太郎将访问的城市编号的顺序。这里,$v$ 是由 $1$ 以上 $N$ 以下的整数组成的、长度至少为 $1$ 的数列。由于比太郎对旅行中访问城市编号的顺序有很强的执念,数列 $v$ 在其长度为 $l$ 时,必须满足以下所有条件。
1. $v_1 = s$。
2. 对于各个 $j = 1, 2, \dots, l - 1$,城市 $v_j$ 与城市 $v_{j+1}$ 由道路连接。
3. 对于各个 $j = 1, 2, \dots, l - 1$,当 $j$ 为奇数时有 $v_j < v_{j+1}$ 成立,当 $j$ 为偶数时有 $v_j > v_{j+1}$ 成立。
例如,$v = (2)$ 和 $v = (1, 4, 1, 5, 3)$ 满足第 $3$ 个条件,但 $v = (3, 2)$ 不满足第 $3$ 个条件。
比太郎想知道:无论制定怎样的旅行计划都无法到达的城市,即在满足上述所有条件的任意数列 $v$ 中都不会出现其编号的城市,总共有多少个。
由于你不知道比太郎当前在什么城市,因此希望对 $s = 1, 2, \dots, N$ 各自,计算比太郎问题的答案。
给定关于 JOI 国的城市与道路的信息,请编写程序,对 $s = 1, 2, \dots, N$ 各自,求出无论比太郎制定怎样的旅行计划都无法到达的城市个数。
输入格式
输入按以下格式给出。
> $N \ \ M$
> $A_1 \ \ B_1$
> $A_2 \ \ B_2$
> $\vdots$
> $A_M \ \ B_M$
输出格式
输出 $N$ 行。第 $k \ (1 \le k \le N)$ 行输出当 $s = k$ 时,无论比太郎制定怎样的旅行计划都无法到达的城市个数。
说明/提示
### 样例解释
#### 样例 $1$ 解释
当 $s = 1$ 时,作为 $v$ 可能的数列有 $v = (1)$、$v = (1, 2)$、$v = (1, 3)$、$v = (1, 4, 1)$、$v = (1, 4, 1, 2)$ 等。不存在无论制定怎样的旅行计划都无法到达的城市。
当 $s = 2$ 时,作为 $v$ 可能的数列只有 $v = (2)$。无论制定怎样的旅行计划,都无法到达城市 $1, 3, 4$。
当 $s = 3$ 时,作为 $v$ 可能的数列有 $v = (3)$、$v = (3, 4, 1, 2)$ 等。不存在无论制定怎样的旅行计划都无法到达的城市。
当 $s = 4$ 时,作为 $v$ 可能的数列只有 $v = (4)$。无论制定怎样的旅行计划,都无法到达城市 $1, 2, 3$。
该输入示例满足子任务 $2, 5$ 的约束。
#### 样例 $2$ 解释
当 $s = 1$ 时,作为 $v$ 可能的数列只有 $v = (1)$。无论制定怎样的旅行计划,都无法到达城市 $2$。
当 $s = 2$ 时,作为 $v$ 可能的数列只有 $v = (2)$。无论制定怎样的旅行计划,都无法到达城市 $1$。
该输入示例满足子任务 $2, 4, 5$ 的约束。
#### 样例 $3$ 解释
该输入示例满足所有子任务的约束。
#### 样例 $4$ 解释
该输入示例满足子任务 $2, 4, 5$ 的约束。
### 约束
- $1 \le N \le 300\,000$。
- $0 \le M \le 300\,000$。
- $1 \le A_i < B_i \le N \ (1 \le i \le M)$。
- $A_i \ne A_j$ 或 $B_i \ne B_j \ (1 \le i < j \le M)$。
- 输入的值全部为整数。
### 子任务
- (12 分)$N \le 1000$,$M = N - 1$。另外,存在一个将 $(1, 2, \dots, N)$ 重新排列得到的某个排列 $P = (P_1, P_2, \dots, P_N)$,并且对各个 $i = 1, 2, \dots, N - 1$,存在一条连接 $P_i$ 与 $P_{i+1}$ 的道路。
- (19 分)$N \le 1000$,$M \le 1000$。
- (15 分)$M = N - 1$。另外,存在一个将 $(1, 2, \dots, N)$ 重新排列得到的某个排列 $P = (P_1, P_2, \dots, P_N)$,并且对各个 $i = 1, 2, \dots, N - 1$,存在一条连接 $P_i$ 与 $P_{i+1}$ 的道路。
- (17 分)对每个城市,与该城市直接由道路连接的城市最多为 $2$ 个。
- (37 分)没有额外约束。