割顶:对于无向图G,如果删除某个点u后,连通分量的数目增加, 称u为图的割顶。对于连通图,割顶就是删除之后使图不再连通的点。 割顶的求解依如下定理: 在无向连通图G的DFS树中,非根结点u是G的割顶当且仅当u存在一个子节点v,使得v及其所有后代都没有反向边连回u的祖先(连回u)不算。 算法实现: 采 ...
分类:
编程语言 时间:
2017-02-19 15:27:30
阅读次数:
198
边双连通分量。 这题有一点构造的味道。一个有向图,经过强连通缩点之后会形成一个有向无环图。 如果将最大的强连通分量放在顶端,其余的强连通分量都直接或间接指向他,那么这样就构造出了符合要求的图。 接下来就是要去寻找强连通分量。对于一个无向图来说,每一个边-双联通分量都可以将每条边定向之后构造成一个强连 ...
分类:
其他好文 时间:
2017-02-08 18:44:26
阅读次数:
293
//点-双连通分量模板。 #include #include #include #include #include using namespace std; struct Edge { int u,v; };//u,v是边的两个端点 const int maxn=100005; int n,m; i... ...
分类:
其他好文 时间:
2017-01-26 15:39:56
阅读次数:
247
题意:给定一个无向图,要求把所有无向边改成有向边,并且添加最少的有向边,是的新的无向图连通。首先,这题是先要明白,有向图的强连通分量,如果把所有的边都变成无向的,就是无向图的边双连通分量。 恩,本来以为边双连通分量又是求桥又是绕过桥dfs很麻烦想想就不想做..后来无意中在别人的题解上看到一个结论(好... ...
分类:
其他好文 时间:
2017-01-25 11:42:33
阅读次数:
157
题意:为了保护放牧环境,避免牲畜过度啃咬同一个地方的草皮,牧场主决定利用不断迁移牲畜进行喂养的方法去保护牧草。然而牲畜在迁移过程中也会啃食路上的牧草,所以如果每次迁移都用同一条道路,那么该条道路同样会被啃咬过度而遭受破坏。现在牧场主拥有F个农场,已知这些农场至少有一条路径连接起来(不一定是直接相连)... ...
分类:
其他好文 时间:
2017-01-16 21:29:01
阅读次数:
281
题目大意: 有一张无向连通图,问从一条边走到另一条边必定要经过的点有几个。 思路: 先用tarjan将双连通分量都并起来,剩下的再将割点独立出来,建成一棵树,之后记录每个点到根有几个割点,再用RMQ求LCA计算。 注意:数组范围。 代码: ...
分类:
其他好文 时间:
2016-12-11 15:22:04
阅读次数:
267
Redundant Paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13712 Accepted: 5821 Description In order to get from one of the F (1 <= F ...
分类:
其他好文 时间:
2016-12-11 08:02:45
阅读次数:
194
Network Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 9434 Accepted: 3511 Description A network administrator manages a large network. Th ...
分类:
Web程序 时间:
2016-12-11 01:59:13
阅读次数:
295
定义:图G(V,E)是连通图,顶点集S是V的子集,若删除S中的所有顶点,将是图不连通,称S是图G的割集。若S={v},则称v为图G的割点(或结合点)。 如果一个无向图没有结合点,该图称为双连通图 结合点的性质: 性质1: 当且仅当深度优先搜索树的根结点至少有两个以上儿子,则根结点是结合点。 性质2: ...
分类:
其他好文 时间:
2016-12-07 20:38:22
阅读次数:
315
【算法】点双连通分量 【题解】详见《算法竞赛入门竞赛入门经典训练指南》P318-319 细节在代码中用important标注。 #include<cstdio> #include<algorithm> #include<vector> #include<stack> #include<cstring ...
分类:
其他好文 时间:
2016-11-11 22:46:05
阅读次数:
345