码迷,mamicode.com
首页 >  
搜索关键字:强连通    ( 1214个结果
hdu2767 Proving Equivalences --- 强连通
给一个图,问至少添加多少条有向边可以使图变成强连通的。 原图是有环的,缩点建图,在该DAG图上我们可以发现,要使该图变成强连通图必须连成环 而添加最少的边连成环,就是把DAG图上入度为0和出度为0的点连上,那么其他的点就都可以互相到达了 所以答案就是max(入度为0的点,出度为0的点) #include #include #include #include #include...
分类:其他好文   时间:2014-07-02 10:52:24    阅读次数:208
zoj3795 Grouping --- 强连通,求最长路
给定图,求把至少把图拆成几个集合能够使集合内的点没有直接或间接关系。 首先由题意可得图中可能含环,而环里面的点肯定是要拆开的。 缩点建图得DAG图,可以想象一下。。把图从入度为零的点向下展开,位于同一层的点放在一个集合是没有关系的, 那么题目所求的问题就转化成求图中最长路的问题了。 接下来就跟 这题 一模一样了。。 #include #include #include...
分类:其他好文   时间:2014-07-02 09:09:45    阅读次数:183
uva11324 The Largest Clique --- 强连通+dp
首先tarjan缩点,重新建图后,每个点的权值就是该点包含点的个数。 然后从入度为0的点开始记忆化搜索,dp[i]表示以i为根最多包含多少点。 #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f #define e...
分类:其他好文   时间:2014-07-02 08:37:48    阅读次数:211
ZOJ3795 Grouping 强连通缩点+图的最长路
给出m条a年龄大于等于b的信息,要求可以比较的两个人不能放在同一组,问最少能分成几组。 由于是大于等于,所以原图可能构成强连通分量,意思就是有很多人年龄相同(想想也该知道,总共10w个人,肯定有很多人年龄重复= =!)将原图缩点后,对新图记忆化搜索求最长路。 如果不缩点,会RE。。。 #include #include #include #include #include using na...
分类:其他好文   时间:2014-07-01 10:47:45    阅读次数:269
hdu 2767 Proving Equivalences 强连通缩点
给出n个命题,m个推导,问最少增加多少条推导,可以使所有命题都能等价(两两都能互推) 既给出有向图,最少加多少边,使得原图变成强连通。 首先强连通缩点,对于新图,每个点都至少要有一条出去的边和一条进来的边(这样才能保证它能到任意点和任意点都能到它) 所以求出新图中入度为0的个数,和出度为0的个数,添加的边就是从出度为0的指向入度为0的。这样还会有一点剩余,剩余的就乱连就行了。 所以只要求出...
分类:其他好文   时间:2014-06-30 08:08:00    阅读次数:163
hdu 4612 Warm up 双连通缩点+树的直径
首先双连通缩点建立新图(顺带求原图的总的桥数,其实由于原图是一个强连通图,所以桥就等于缩点后的边) 此时得到的图类似树结构,对于新图求一次直径,也就是最长链。 我们新建的边就一定是连接这条最长链的首尾,这样就将原图的桥减少了直径个。 #include #include #include #include #include #include using namespace std; #...
分类:其他好文   时间:2014-06-28 07:18:36    阅读次数:278
UVA - 11324 The Largest Clique 强连通缩点+记忆化dp
题目要求一个最大的弱联通图。 首先对于原图进行强连通缩点,得到新图,这个新图呈链状,类似树结构。 对新图进行记忆化dp,求一条权值最长的链,每个点的权值就是当前强连通分量点的个数。 /* Tarjan算法求有向图的强连通分量set记录了强连通分量 Col记录了强连通分量的个数。 */ #include #include #include #include #include usin...
分类:其他好文   时间:2014-06-27 10:12:12    阅读次数:275
POJ 2553 The Bottom of a Graph TarJan算法题解
本题分两步: 1 使用Tarjan算法求所有最大子强连通图,并且标志出来 2 然后遍历这些节点看是否有出射的边,没有的顶点所在的子强连通图的所有点,都是解集。 Tarjan算法就是模板算法了。 这里使用一个数组和一个标识号,就可以记录这个顶点是属于哪个子强连通图的了。 然后使用DFS递归搜索所有点及其边,如果有边的另一个顶点不属于本子强连通图,那么就说明有出射的边。 有难度的题目: ...
分类:其他好文   时间:2014-06-25 07:19:31    阅读次数:241
BZOJ 1093 最大半连通子图(强连通分量+树形DP)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1093题意:思路:(1)首先,强连通分量中的一个点若在最大半连通子图中,则必定整个连通分量中的点都在,因为都在还是满足半连通的性质而且使得节点数更多。(2)因此,求出强连通分量缩点,形成一个...
分类:其他好文   时间:2014-06-23 06:09:38    阅读次数:372
BZOJ 1797 最小割
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1797题意:给出一个有向图,每条边有流量,给出源点汇点s、t。对于每条边,询问:(1)是否存在一个最小割包含该边?(2)是否所有的最小割都包含该边?思路:首先求最大流,在残余网络中求强连通 ...
分类:其他好文   时间:2014-06-23 00:44:12    阅读次数:202
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!