POJ 1523 SPF(寻找关节点)】的更多相关文章

                                                                     SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8155   Accepted: 3730 Description Consider the two networks shown below. Assuming that data moves around these netwo…
题目链接:http://poj.org/problem?id=1523 题意:给出无向图的若干条边,求割点以及各个删掉其中一个割点后将图分为几块. 题目分析:割点用tarjan算法求出来,对于每个割点,dfs一次图,求出有几块不连通的子图. AC代码: #include<cstdio> #include<cstring> +; struct EDGE{ int v,next; }edge[N*N/]; int first[N],low[N],dfn[N],cut[N],vis[N]…
poj : http://poj.org/problem?id=1523 如果无向图中一个点 u 为割点 则u 或者是具有两个及以上子女的深度优先生成树的根,或者虽然不是一个根,但是它有一个子女 w, 使得low[w] >= dfn[u]; 其中low[u] 是指点 u 通过回边所能达到的 最小深度优先数,dfn[u]是指 点u 当前所处的 深度优先数: low[u] 是在递归回退时计算出来的,dfn[u] 是在递归时直接计算的. low[u] = min { dfn[u]; min{  low…
题目链接: POJ1523 题意: 问一个连通的网络中有多少个关节点,这些关节点分别能把网络分成几部分 题解: Tarjan 算法模板题 顺序遍历整个图,能够得到一棵生成树: 树边:可理解为在DFS过程中訪问未訪问节点时所经过的边.也称为父子边 回边:可理解为在DFS过程中遇到已訪问节点时所经过的边.也称为返祖边.后向边 对根节点u,若其有两棵或两棵以上的子树.则该根结点u为割点. 对非叶子节点u(非根节点).若其子树的节点均没有指向u的祖先节点的回边,说明删除u之后,根结点与u的子树的节点不再…
                                                               SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7110   Accepted: 3242 Description Consider the two networks shown below. Assuming that data moves around these networks on…
题目链接 题意 : 找出图中所有的割点,然后输出删掉他们之后还剩多少个连通分量. 思路 : v与u邻接,要么v是u的孩子,要么u是v的祖先,(u,v)构成一条回边. //poj1523 #include <cstdio> #include <cstring> #include <iostream> using namespace std ; ][],dfn[],low[],subnet[] ; int tot,Node ,son; void dfs(int u) { d…
题意:给出一个网络(不一定连通),求所有的割点,以及割点可以切分出多少个连通分量. 思路:很多种情况. (1)如果给的图已经不是连通图,直接“  No SPF nodes”. (2)求所有割点应该不难,就是tarjan发明的算法搞定.但是求连通分量就得小心了,多种情况.看下: 1)如果一个割点x,其所有孩子都不是割点,那么x至少可以割出两个连通分量(x之上和之下的各1个). 2)如果一个割点x,其有部分孩子是割点,有部分孩子并不是割点,那么x可以割出x之上的1个连通分量,不是割点的孩子均是同1个…
题目描述:考虑图8.9中的两个网络,假定网络中的数据只在有线路直接连接的2个结点之间以点对点的方式传输.一个结点出现故障,比如图(a)所示的网络中结点3出现故障,将会阻止其他某些结点之间的通信.结点1和结点2仍然是连通的,结点4和结点5也是连通的,但这2对结点之间 的通信无法进行了.因此结点3是这个网络的一个SPF结点.严格的定义:对于一个连通的网络,如果一个结点出现故障,将会阻止至少一对结点之间的通信,则该结点是SPF结点.注意,图所示的网络不存在SPF结点.至少两个结点出现故障后,才会使得其…
题目要求割顶集,并且还要求出去掉割顶之后剩下的图连通数目. tarjan算法求出割顶后直接枚举就可以了吧. 一开始想到利用iscut[u]的次数也就是点u被判定为割顶的次数求连通分量数,还有利用与结点u相连的点的bccno不同的编号来判定,都是不行的,具体原因自己想清楚比较好. 以后就不会犯这样的错误了. 代码: #include <iostream> #include <sstream> #include <cstdio> #include <climits&g…
SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7246   Accepted: 3302 Description Consider the two networks shown below. Assuming that data moves around these networks only between directly connected nodes on a peer-to-peer basis, a…