随笔分类 - 双连通分量
摘要:##https://ac.nowcoder.com/acm/contest/33188/F 既然是取点就该想到点双。 如果全图就是一个点双,显然可行。 如果只有 2 个点,显然可行。 若全图有多个点双,如果二者都在同个点双,显然不可行。 枚举 1 ~ n−1 的过程中点的变化是连续的,但如果有个人开
阅读全文
摘要:当发现dfn[x]<= low[j] 说明y搜不到x上面 说明x是子树 if(dfs(x)<=low(y)){ cnt++; if(x不是根节点|cnt>1) 说明x是割点 将栈中元素弹出直到弹出y为止 而且x也是在双连通分量里面 } 割点属于两个双连通分量 1.出口数量大于等于2 2.不同连通块之
阅读全文
摘要:https://www.acwing.com/problem/content/description/1185/ 如何求割点: x->y: 1.如果从y开始搜能搜到x 那就一定不是割点 2.如果不能搜回去 x不是根节点 删掉x 一定会分成两个不连通的部分 3.如果x是根节点 当至少有两个子节点 才会
阅读全文
摘要:无向图 缩点后 变成 一颗树 叶子结点就是 出度为0 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 5010,M=20010; int n,m; int h
阅读全文