#P7516. [省选联考 2021 A/B 卷] 图函数

[省选联考 2021 A/B 卷] 图函数

题目描述

对于一张 nn 个点 mm 条边的有向图 GG(顶点从 1∼n1 \sim n 编号),定义函数 f(u,G)f(u, G):

  1. 初始化返回值 cnt=0cnt = 0,图 G′=GG' = G。
  2. 从 11 至 nn 按顺序枚举顶点 vv,如果当前的图 G′G' 中,从 uu 到 vv 与从 vv 到 uu 的路径都存在,则将 cnt+1cnt + 1,并在图 G′G' 中删去顶点 vv 以及与它相关的边。
  3. 第 22 步结束后,返回值 cntcnt 即为函数值。

现在给定一张有向图 GG,请你求出 h(G)=f(1,G)+f(2,G)+⋯+f(n,G)h(G) = f(1, G) + f(2, G) + \cdots + f(n, G) 的值。

更进一步地,记删除(按输入顺序给出的)第 11 到 ii 条边后的图为 GiG_i(1≤i≤m1 \le i \le m),请你求出所有 h(Gi)h(G_i) 的值。

输入格式

第一行,两个整数 n,mn,m,表示图的点数与边数。
接下来 mm 行,每行两个整数,第 ii 行的两个整数 xi,yix_i, y_i 表示一条有向边 xi→yix_i \to y_i。

数据保证 xi≠yix_i \neq y_i 且同一条边不会给出多次。

输出格式

输出一行 m+1m + 1 个整数,其中第一个数表示给出的完整图 GG 的 h(G)h(G) 值。第 ii(2≤i≤m+12 \le i \le m + 1)个整数表示 h(Gi−1)h(G_{i-1})。

4 6
2 3
3 2
4 1
1 4
2 1
3 1

6 5 5 4 4 4 4

见附件中的 graph/graph2.in。
见附件中的 graph/graph2.ans。

提示

【样例 #1 解释】

对于给出的完整图 GG:

  1. f(1,G)=1f(1, G) = 1,过程中删除了顶点 11。
  2. f(2,G)=1f(2, G) = 1,过程中删除了顶点 22。
  3. f(3,G)=2f(3, G) = 2,过程中删除了顶点 2,32, 3。
  4. f(4,G)=2f(4, G) = 2,过程中删除了顶点 1,41, 4。

【数据范围】

对于所有测试数据:2≤n≤1032 \le n \le {10}^3,1≤m≤2×1051 \le m \le 2 \times {10}^5,1≤xi,yi≤n1 \le x_i, y_i \le n。

每个测试点的具体限制见下表:

测试点编号 n≤n \le m≤m\le
1∼41 \sim 4 1010
5∼115 \sim 11 100100 2×1032 \times {10}^3
12∼2012 \sim 20 103{10}^3 5×1035 \times {10}^3
21∼2521 \sim 25 2×1052 \times {10}^5