图论—连通图
文章平均质量分 75
My_ACM_Dream
生活没有彩排每天都是现场直播
展开
-
poj3694(边双联通分量)
/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing namespace s原创 2014-11-13 11:01:08 · 551 阅读 · 0 评论 -
poj1904(强联通分量)
这题非常的好,前面代码写搓了一直re、wa题目所给的名单是很有用的,首先按照王子陪女孩的方式 建边,然后名单中的女孩对应王子建一条反向边。为什么这样做呢? 其实就是将名单中王子和女孩捆绑成一个点,因为王子到女孩有一条边,名单中的女孩到王子也有一天边,那么着两个点就是互通的,那么久相当于他们是同一个点一样,在建图的时候能到达王子的都能到达名单中的女号,能到达名单中的女孩的都能到达王子。这样动手画下这题的草图(名单中的女孩和王子是一个点)很容易看出之间的关系,分析一下,发现如果是同一个联通分量里面的点刚好满原创 2014-11-14 11:17:01 · 1042 阅读 · 0 评论 -
poj 2553 The Bottom of a Graph (强联通分量+缩点)
一直wa不知道为什么/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#includeusing namespace std;typedef long long lld;typed原创 2014-11-13 14:58:30 · 476 阅读 · 0 评论 -
hdu 4612 Warm up (边双联通分量缩点)
题意:给出一个图,问加一条边使得整个图桥变得最少。求最少的桥数。题解:双联通缩点成树,然后得到数的直径,那么我们要连接的点肯定是数直径的端点,那么只要知道直径就知道这两个端点之间边的个数,缩点完的边就是桥,于是最少的桥数=点数-1-数的直径(因为是树点数-1肯定就是边数了)。无限爆栈。#pragma comment(linker, "/STACK:1024000000,1024原创 2015-04-02 14:38:18 · 581 阅读 · 0 评论 -
UVA 315 Network (割点)
计算割点的个数#include#include#include#include#include#include#include#include#includeusing namespace std;#define B(x) (1<<(x))typedef long long ll;void cmax(int& a,int b){ if(b>a)a=b; }void c原创 2015-03-31 21:46:02 · 637 阅读 · 0 评论 -
poj 1236 Network of Schools (强联通分量+缩点)
题意:给出多个学校的网络图,每个学校多有一个表,表中存这个学校能联通的学校编号(单向联通)。两个问题:1、至少要多少分资料才能全部传到所有学校;2、至少要连多少条边才能使得整个整个网络联通。题解:强联通,缩点完,根据缩点判断入度为0的点的个数ansA,出度为0的点的个数ansB。乱搞能发现两个问题的答案分别是ansA,max(ansA,ansB)#include#include原创 2015-03-31 20:12:43 · 474 阅读 · 0 评论 -
hdu 4635 Strongly connected (强连通分量缩点)
题意:问能加的最多边数使得原图任然不是强连通的。题解:很好的题目。我们分析,当恰好连到某个边时正好是强连通,那么我们把这个边去掉,那么剩下的图肯定是两个强连通分量,于是对于这个图我们分析边的数量,假设两个强连通分量的点数分别是x,y,那么这两个分量的内部边肯定饱和了,x->y的边肯定也饱和了,那么 边数=x*y+x*(y-1)+y*(x-1);整理下变成n*n-n-x*y。这就是饱和的原创 2015-04-03 14:00:35 · 620 阅读 · 0 评论 -
poj 3694 Network (找桥,LCA)
题意:给出一张图,Q个询问,每个询问都是在前面询问的基础上,每个询问连一条边,问现在还有几个桥。题解:跑一边Tarjan,同时记录桥、父亲的信息,然后对于每个询问找LCA,途经桥,那么桥的数量就减一。#include#include#include#include#include#include#include#include#includeusing n原创 2015-04-01 15:56:12 · 495 阅读 · 0 评论 -
poj 3177 Redundant Paths (边双联通分量+缩点)
/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing namespace s原创 2014-11-13 10:58:11 · 518 阅读 · 0 评论 -
hdu 4738 Caocao's Bridges (找桥,有重边)
题意:给出一个图,现在只能切除一个路使得整个图不联,每条路都有保安(w个),要切除这条路需要至少需要人力w人。问图要使得整个图不连通需要的最少人力。题解:这题有一个坑点,就是如果路上没有保安的情况,这种情况也是需要有人去切除路的,所以至少1人。这题有重边。。。#include#include#include#include#include#include#include原创 2015-04-04 12:32:44 · 432 阅读 · 0 评论 -
sdut 2604 Thrall’s Dream (强联通分量+缩点)
题意:题目给出一张图,问任意两点能否有一天路径连接。题解:强连通分量,然后缩点,只要形成一条链或者一个环就满足条件!虽然说重边不影响Tarjan的正确性,但是重边会影响度数的统计,因此一直wa,就是错在把重边重复的统计进入度数,这样判断就不准确了。#include#include#include#include#include#include#include#incl原创 2015-04-07 16:17:58 · 657 阅读 · 0 评论 -
poj 2186 Popular Cows (强联通分量+缩点)
给出一些牛自己认为popular的牛,问那些牛是被所有牛认为popular的。裸的强联通分量+缩点。#include#include#include#include#include#include#include#include#includeusing namespace std;#define B(x) (1<<(x))typedef long long ll原创 2015-03-31 00:51:23 · 431 阅读 · 0 评论 -
poj3592(Tarjan+Spfa)
不知道为什么思路都对了,各种数据都过了,就是wa思路直接原创 2014-11-14 16:11:38 · 779 阅读 · 0 评论 -
POI1119
/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#include原创 2014-11-13 11:03:43 · 497 阅读 · 0 评论 -
zoj2588(割边)
/** this code is made by LinMeiChen* Problem:zoj 1311* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#i原创 2014-11-13 11:08:35 · 651 阅读 · 0 评论 -
关节点(割点)
深度搜索回溯的时候处理low && dfn以zoj1119为例/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#incl原创 2014-11-13 10:47:21 · 565 阅读 · 0 评论 -
连通度(定点联通度&&边联通度)
用网络流求解 拆点 原网络的点拆成 i i+n 流量1 其他所有边都为oo原创 2014-11-13 10:49:10 · 2314 阅读 · 0 评论 -
边双联通分量
不多说,操作都是在核心算法的基础上变化,关键的判断 low[v] dfn[u] 之间的关系判段poj 3177原创 2014-11-13 10:52:49 · 586 阅读 · 0 评论 -
ZOJ1119(割点)
/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing namespace s原创 2014-11-13 11:05:41 · 551 阅读 · 0 评论 -
重联通分量
重联通分量的算法是基于关键节点的,处理方式稍微不同/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#in原创 2014-11-13 10:48:03 · 512 阅读 · 0 评论 -
强联通分量
这类题目普遍有个共性就是缩点,算法模板,核心的部分就是缩点,理解比价抽象,不过还行。有两种算法可以用,我个人倾向于第一种算法Tarjan 这个算法一次性遍历,而且变化很多联通性的问题都可以用这个算法的构架加上变形解决举个例子 poj2186/** this code is made by LinMeiChen* Problem:* Type of Problem:* T原创 2014-11-13 10:56:22 · 505 阅读 · 0 评论 -
zoj1311(割点)
/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing namespace s原创 2014-11-13 11:06:49 · 488 阅读 · 0 评论 -
poj3160(Tarjan+Spfa)
方法RT,但是一直wa不知道为何,感觉自己的代码写搓了今天起来研究了一下,发现错误好多,机智的找到错误,ac原创 2014-11-13 23:25:13 · 1035 阅读 · 0 评论 -
hdu 5215 Cycle (图论,盘环)
题意:给出一个无向图,问是否存在奇环和偶环。题解:首先奇环判断比较简单,如果是二分图必定没有奇环,否则必定有奇环。接着是偶环的判断,偶环比较复杂点,对于一个双联通分量,分两种情况:1、如果双联通分量就是一个环,那么就可能为奇环也可能为偶环,要特判。2、如果双联通分量不是一个环,那么肯定存在偶环在里面。对于1,我的做法是对每个双联通分量进行搜索,记录点被走过大于1的个数,原创 2015-05-05 17:16:27 · 964 阅读 · 0 评论