AT_joisc2020_e ジョイッターで友だちをつくろう (Making Friends on Joitter is Fun)
题目描述
Joitter 是一款社交软件,已经有 $n$ 个人正在使用,都没有互相关注。从现在起的 $m$ 天内,每天会有用户 ${A_i}$ 关注用户 $B_i$ 的事件。官方准备在这 $m$ 天中举办一个活动,此活动的内容是:如果存在 3 个用户 $x$ , $y$ , $z$ 其中 $x$ 关注了 $y$ 但没有关注 $z$ ,同时 $y$ 与 $z$ 互相关注,那么让用户 $x$ 关注用户 $z$ ,重复进行直到不再存在这样的用户。
------------
官方还没有开始举行这个活动,官方想知道 $\forall i \in [1,m] $ 若活动在第 $i$ 天开始,活动结束后每个用户关注其他用户数量和的最大值是多少。
------------
输入格式
第一行是两个整数 $n$ 和 $m$ ;
接下来 $m$ 行,每行输入两个整数 $A_i$ , $B_i$ 。
------------
输出格式
输出共 $m$ 行,第 $i$ 行输出若活动在第 $i$ 天开始,活动结束后每个用户关注其他用户数量和的最大值是多少。
------------
说明/提示
【数据约定】
对于所有数据, $1\le n \le 10^5$ , $1 \le m \le 3*10^5 $ ,保证 :
- $ 1 \le A_i , B_i \le n (1 \le i \le m) $;
- $ A_i \neq B_i (1 \le i \le m) $;
- $ (A_i , B_i) \neq ( A_j , B_j) (1 \le i \le m) $。