题意:
给定一个无向连通图,问最少要添加多少条边,可以使得这个图是边双连通的。
题解:
t a r j a n tarjan tarjan缩点后图变成树,首先特判树中点数 n ≤ 2 n\leq 2 n≤2的情况。
考虑 n > 2 n>2 n>2的情况,答案为 ⌊ n + 1 2 ⌋ \lfloor \frac{n+1}{2} \rfloor ⌊2n+1⌋。
构造具体方案时,以任意度大于 1 1 1的点为根,只需要保证任意两个叶子连边后与根成环,
当奇数个叶子时,可以将一个叶子与根相连,又转换成了偶数叶子情况。
具体构造:
t a r j a n tarjan tarjan缩点后图变成树,选择度大于 1 1 1的点为根,按照 d f s dfs dfs序存下所有叶子, l e a f [ i ] leaf[i] leaf[i]表示 d f s dfs dfs序的第 i i i个叶子,共 g g g个叶子。将 l e a f [ i ] leaf[i] leaf[i]与 l e a f [ i + ⌊ n 2 ⌋ ] leaf[i+\lfloor \frac{n}{2}\rfloor] leaf[i+⌊2n⌋]连边, ( i ≤ ⌊ n + 1 2 ⌋ ) (i\leq\lfloor \frac{n+1}{2}\rfloor) (i≤⌊2n+1⌋)。
其实我并没有太理解这个做法的证明,如果有大佬明白可以在评论区解答下~
例题:
2020牛客多校第三场 C C C
含有官方题解的博客