建图(每次lev[i+1]到lev[i]连边,权是0,图中原来有边。root到lev0的有边。到达最高的点相当于必需到达所有点])之后,便是最小树形图(有向图,包括指定的根在内的最小生成树(从根出发))。
刘朱算法很好理解:
选取每个点入度最小的边加入边集。
缩点,改权。
取最小边集。
这考的比较少,就直接用模板了。。之前先自己dfs一遍,判断有无解。
模板用的是邻接矩阵的。之前必需对...
分类:
其他好文 时间:
2014-09-04 16:59:59
阅读次数:
204
最近学习了一下 最小生成树 算法。
所谓最小生成树算法,就是给出一个连通图g[ maxn ][ maxn ], 找出这个连通图的边权和最小的生成图(树)。
可以实现这个目的的算法,我叫它最小生成树算法。kruskal算法就是我学到的一种实现这种功能的算法。
对于kruskal算法的描述以及简单的证明在刘汝佳第二版上已经说得够明白
本题就是求 最小生成树 里面的 最大边权和最小边权 相差最...
分类:
其他好文 时间:
2014-08-30 16:29:49
阅读次数:
235
1 /* 2 题意:就是给你一个图,图的每两个点都有多条路径,每一条路径中都有一条最大边, 3 所有最大边的最小边(也就是瓶颈边)就是这两点之间的val值!然后给你一个值f, 4 问有多少个顶点对的val>=f! (u,v) 和 (v, u)是不同的顶点对! 5 6 思路...
分类:
其他好文 时间:
2014-08-29 00:00:26
阅读次数:
301
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4141
题意:给出n个顶点,m条边,求一个生成树,使得最大边与最小边的差值最小。
思路:求一个生成树使最大边最小是瓶颈生成树。对于此题,我们枚举每一条边做最小边的情况,找对应的最小生成树的最...
分类:
其他好文 时间:
2014-08-28 14:52:28
阅读次数:
292
1 /* 2 题意:给出一个无向图,去掉一条权值最小边,使这个无向图不再连同! 3 4 tm太坑了... 5 1,如果这个无向图开始就是一个非连通图,直接输出0 6 2,重边(两个节点存在多条边, 权值不一样) 7 3,如果找到了桥的最小权值为0,...
分类:
其他好文 时间:
2014-08-26 16:51:56
阅读次数:
158
给你n个点,m条边,让你求一条路径,使得s到t的最短边最长这类问题,不是MST就是二分+判断例如:1.NOIP2013day1t3 火车运输 MST+树上倍增2.CH ROUND 52 A 拆地毯 类似MST3.BZOJ1614: [Usaco2007 Jan]Telephone Lines架设电....
分类:
其他好文 时间:
2014-08-19 23:57:05
阅读次数:
433
题意,从0点出发,遍历所有点,遍历边时候要付出代价,在一个SCC中的边不要付费。求最小费用。
有向图缩点(无需建立新图,,n《=50000,建则超时),遍历边,若不在一个SCC中,用一个数组更新记录最小到达该连通分量的最小边权即可。。。边聊天,边1A,哈哈。。。
#include
#include
#include
#include
#include
using namespace std;
...
分类:
其他好文 时间:
2014-08-16 19:51:31
阅读次数:
228
今天学习了一下二分图,赶紧总结整理一下:
二分图问题,有很多,但归根结底还是求最大匹配数。
Point 1:
二分图中的最小点覆盖数 = 最大匹配数
最小点覆盖:也就是说用最少的点覆盖所有的边
Point 2 :
二分图中的最小路径覆盖 = 顶点数 - 最大匹配数
最小路径覆盖:也叫最小边覆盖,是指用尽量少的不相交的路径覆盖图中的所有顶点。
Point...
分类:
其他好文 时间:
2014-08-15 21:11:39
阅读次数:
266
题意:给n维图形,它们的边长是{d1,d2,d3...dn}, 对于两个n维图形,求满足其中一个的所有边长
按照任意顺序都一一对应小于另一个的边长,这样的最长序列的个数,并且打印任意一个最长子串的路径,
例如:a(9,5,7,3),b(6,10,8,2),c(9,7,5,1),a和b不满足,但c和b满足
分析:首先对没组边长从小到大排序,再对各组图形按最小边排序,再求最大子串,
对于打印路径,可以逆序循环,也可递归求解...
分类:
其他好文 时间:
2014-08-09 11:40:07
阅读次数:
245
最大流最小割定理:移除最小边集使网络流中断的集值等于这个网络的最大流。建图: 第一个cpu 流向第i的 模块的流量为ai , 第i个模块流向 第二个cpu的流量为 bi 。模块之间连边 a->b= w b->a=w。#include #include #include #include #incl....
分类:
其他好文 时间:
2014-08-01 15:34:11
阅读次数:
281