码迷,mamicode.com
首页 >  
搜索关键字:缩点    ( 1140个结果
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 3605Escape(缩点+网络流之最大流)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3605 本来打算昨天写两道题的,结果这个题卡住了,最后才发现是最后的判断条件出错了,判断满流的条件应该是与n的比较,竟然写成与所有星球总容量的比较了。(最近大脑短路。。) 这题也不是完全自己想的,没想到缩点这一技巧,由于n的数据范围太大,普通的建图方法会超时超内存,需要缩点,因为对于每个点来说,一共...
分类:其他好文   时间:2014-07-01 07:53:27    阅读次数:235
HDU 3605Escape(缩点+网络流之最大流)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3605 本来打算昨天写两道题的,结果这个题卡住了,最后才发现是最后的判断条件出错了,判断满流的条件应该是与n的比较,竟然写成与所有星球总容量的比较了。(最近大脑短路。。) 这题也不是完全自己想的,没想到缩点这一技巧,由于n的数据范围太大,普通的建图方法会超时超内存,需要缩点,因为对于每个点来说,一共...
分类:其他好文   时间:2014-06-30 16:22:40    阅读次数:222
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
zoj-3795-Grouping-tarjan缩点求最长路
用tarjan进行缩点。 然后用dfs求最长路。水体。。。 #include #include #include #include #include #include #include using namespace std; #define maxn 110000 vectorold[maxn]; vectorvec[maxn]; int dnf[maxn],low[maxn],instac...
分类:其他好文   时间:2014-06-22 11:51:01    阅读次数:203
1140条   上一页 1 ... 110 111 112 113 114 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!