loj#P3275. 「JOISC 2020 Day2」有趣的 Joitter 交友

「JOISC 2020 Day2」有趣的 Joitter 交友

题目描述

题目译自 JOISC 2020 Day2 T2「ジョイッターで友達をつくろう / Making Friends on Joitter is Fun

Joitter\texttt{Joitter} 是一款社交软件,你可以在这里和你的朋友分享你的高光时刻。

Joitter\texttt{Joitter} 中,你可以关注别的用户。举例来说,当用户 aa 关注了另外一个用户 bb ,用户 aa 可以在时间轴上阅读用户 bb 的帖子。在这种情况下,用户 bb 有可能关注用户 aa ,也可能不关注用户 aa 。当然,用户 aa 不能关注 Ta 自己或者关注用户 bb 超过一次。

一共有 NN 个用户已经开始使用 Joitter\texttt{Joitter} ,一开始他们没有关注任何其他用户。

从现在起,持续 MM 天,在第 ii 天会发生用户 AiA_i 关注用户 BiB_i 的事件(1iM1 \le i \le M)。

Joitter\texttt{Joitter} 官方正在计划在这 MM 天中举行一场活动,这场活动有如下的步骤:

  1. 选择一个用户 xx
  2. 同时选择一个被 xx 关注的用户 yy
  3. 选择一个用户 zz ,要求满足 zz 不是 xxxx 没有关注 zz ,且 yyzz 互相关注。
  4. xx 关注 zz
  5. 重复上述步骤,直到无法选出三元组 (x,y,z)(x,y,z)

Joitter\texttt{Joitter} 官方仍然还没有决定何时开始举办这个活动。所以他们想要知道,i[1,m]\forall i \in [1,m],若活动在第 ii 天开始,活动结束后每个用户关注其他用户数量和的最大值是多少。

输入格式

从标准输入中读入以下内容:

第一行两个整数 N,MN,M

接下来 MM 行,每行两个整数 Ai,BiA_i,B_i

输出格式

输出 MM 行到标准输出,第 ii 行输出若活动在第 ii 天开始,活动结束后每个用户关注其他用户数量和的最大值是多少。

4 6
1 2
2 3
3 2
1 3
3 4
4 3
1
2
4
4
5
9
6 10
1 2
2 3
3 4
4 5
5 6
6 5
5 4
4 3
3 2
2 1
1
2
3
4
5
7
11
17
25
30

数据范围与提示

对于所有数据,2N105,1M3×1052\le N\le 10^5,1\le M\le 3\times 10^5,保证:

  • 1Ai,BiN (1iM)1\le A_i,B_i\le N\ (1\le i\le M)
  • AiBi (1iM)A_i\neq B_i\ (1\le i\le M)
  • (Ai,Bi)(Aj,Bj) (1i<jM)(A_i,B_i)\neq (A_j,B_j)\ (1\le i\lt j\le M)

详细子任务及附加限制如下表:

子任务编号 附加限制 分值
11 N50N\le 50 11
22 N2×103N\le 2\times 10^3 1616
33 无附加限制 8383