Description
dzy 手上有一张n 个点m 条边的联通无向图,仙人掌是一张每条边最多在一个简单环内的联通无向图。他想求这个无向图的生成仙人掌中最多有多少条边。
但是dzy 觉得这个问题太简单了,于是他定义了“美丽的生成仙人掌”,即在一个生成仙人掌中如果满足对于任意编号为i,j(i < j) 的两点,存在一条它们之间的简单路径上面有j-i+1 个点,则这个仙人掌是美丽的。
他现在想要知道这张图的美丽的生成仙人掌中最多有多少条边,你能帮帮他吗?
Input
第一行两个整数n,m。接下来m 行每行两个整数ui,vi,表示这两个点之间有一条无向边。保证图中没有自环。
Output
仅一行一个整数表示答案。
Sample Input
2 1
1 2
Sample Output
1
Data Constraint
对于10% 的数据,n <=10。
对于30% 的数据,n <=10^3。
对于100% 的数据,n <=10^5,m <= 2n。
题解
先考虑如何满足对于任意编号为i,j(i < j) 的两点,存在一条它们之间的简单路径上面有j-i+1 个点这个要求。
很显然唯一能满足的就是一条链,且链上面点的编号都是连续的。
现在就要构造边数最多的仙人掌了。
两个环是不能相交的,但可以相切。
问题就转化成了线段覆盖问题,
在一条连续的链[l,r]中,
有一些线段 xi,y