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

题目描述

对于一张 $n$ 个点 $m$ 条边的有向图 $G$(顶点从 $1 \sim n$ 编号),定义函数 $f(u, G)$: 1. 初始化返回值 $cnt = 0$,图 $G' = G$。 2. 从 $1$ 至 $n$ 按顺序枚举顶点 $v$,如果当前的图 $G'$ 中,从 $u$ 到 $v$ 与从 $v$ 到 $u$ 的路径都存在,则将 $cnt + 1$,并在图 $G'$ 中删去顶点 $v$ 以及与它相关的边。 3. 第 $2$ 步结束后,返回值 $cnt$ 即为函数值。 现在给定一张有向图 $G$,请你求出 $h(G) = f(1, G) + f(2, G) + \cdots + f(n, G)$ 的值。 更进一步地,记删除(按输入顺序给出的)第 $1$ 到 $i$ 条边后的图为 $G_i$($1 \le i \le m$),请你求出所有 $h(G_i)$ 的值。

输入格式

输出格式

说明/提示

**【样例 #1 解释】** 对于给出的完整图 $G$: 1. $f(1, G) = 1$,过程中删除了顶点 $1$。 2. $f(2, G) = 1$,过程中删除了顶点 $2$。 3. $f(3, G) = 2$,过程中删除了顶点 $2, 3$。 4. $f(4, G) = 2$,过程中删除了顶点 $1, 4$。 --- **【数据范围】** 对于所有测试数据:$2 \le n \le {10}^3$,$1 \le m \le 2 \times {10}^5$,$1 \le x_i, y_i \le n$。 每个测试点的具体限制见下表: | 测试点编号 | $n \le$ | $m\le$ | |:-:|:-:|:-:| | $1 \sim 4$ | $10$ | $10$ | | $5 \sim 11$ | $100$ | $2 \times {10}^3$ | | $12 \sim 20$ | ${10}^3$ | $5 \times {10}^3$ | | $21 \sim 25$ | ${10}^3$ | $2 \times {10}^5$ |