上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 50 下一页
摘要: d.n个村庄,n*(n-1)/2条路,铺设若干条路,使任何两个村庄都可达。求最小的公路总长度。 s.最小生成树 c.Prim算法:cost[a][b]和cost[b][a]都得赋值。 /* Prim算法 Prim求MST 耗费矩阵cost[][],标号从0开始,0~n-1 返回最小生成树的权值,返回 阅读全文
posted @ 2015-12-03 20:56 gongpixin 阅读(256) 评论(0) 推荐(0) 编辑
摘要: d.n个村庄m条路,求最少修多少条路可以连通所有的村庄 s.并查集求出集合个数,减1即为答案 c. #include<iostream> #include<stdio.h> #include<string.h> using namespace std; #define MAXN 1024 int f 阅读全文
posted @ 2015-12-03 20:16 gongpixin 阅读(174) 评论(0) 推荐(0) 编辑
摘要: d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到这个城市的距离设为0),草儿想去的地方有D个; 求D个城市中距离草儿家最近的距离。 s.进行1次单源最短路,找出距离最小的即可。 c.Dijkstra单源最短路 /* Dijkstra单源最短路 权值必须是非负 阅读全文
posted @ 2015-12-03 17:02 gongpixin 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 1001、搬砖 description.刚开始一堆砖,共N块;任务是要把它分成N堆,每堆1块。 分的过程中,每次可将一堆分成两堆,耗费的体力是分完之后的两堆砖的数目的差值。 求完成任务需要耗费的最小的体力。 solution.贪心:每次分完之后的这两堆的数目差值越小,耗费的体力越小。 即每次分成差值 阅读全文
posted @ 2015-11-30 14:09 gongpixin 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重 阅读全文
posted @ 2015-11-29 10:26 gongpixin 阅读(1795) 评论(0) 推荐(0) 编辑
摘要: 1、给定一个连通的无向图G,至少要添加几条边,才能使其变为双连通图。2、POJ - 3177 Redundant Paths(边双连通分支)(模板) 与这道题一模一样。代码就改了下范围,其他都没动。。。3、//边双连通分支/*去掉桥,其余的连通分支就是边双连通分支了。一个有桥的连通图要变成边双连通图... 阅读全文
posted @ 2015-11-28 21:18 gongpixin 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 1、给定一个连通的无向图G,至少要添加几条边,才能使其变为双连通图。2、3、//边双连通分支/*去掉桥,其余的连通分支就是边双连通分支了。一个有桥的连通图要变成边双连通图的话,把双连通子图收缩为一个点,形成一颗树。需要加的边为(leaf+1)/2(leaf为叶子结点的个数)POJ 3177 给定一个... 阅读全文
posted @ 2015-11-28 21:09 gongpixin 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 有向图的强连通分量 1、Tarjan /* Tarjan算法 复杂度O(N+M) */ #include<iostream> #include<stdio.h> #include<string.h> using namespace std; const int MAXN=20010;//点数 con 阅读全文
posted @ 2015-11-28 19:42 gongpixin 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 原文地址:树边,前向边,后向边,横叉边 树边,前向边,后向边,横叉边,应该说,不是一个图本身有的概念,应该是图进行DFS时才有的概念。图进行DFS会得到一棵DFS树(森林),在这个树上 才有了这些概念。对图进行DFS,可以从任意的顶点开始,遍历的方式也是多样的,所以不同的遍历会得到不同的DFS树,进 阅读全文
posted @ 2015-11-28 17:39 gongpixin 阅读(2679) 评论(0) 推荐(1) 编辑
摘要: 原文地址:图的割点、桥与双连通分支 [点连通度与边连通度] 在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。 类似的,如果有一个边集合,删除这个边集合以后,原 阅读全文
posted @ 2015-11-28 17:20 gongpixin 阅读(274) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 50 下一页