题目来自于hihocoder
点击打开链接
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一个城市了!
但是,问题也接踵而来——小Hi现在手上拥有N座城市,且已知这N座城市中任意两座城市之间建造道路所需要的费用,小Hi希望知道,最...
分类:
编程语言 时间:
2015-04-08 16:32:52
阅读次数:
139
原题地址坑了我好久。。。提交总是WA,找了个AC代码,然后做同步随机数据diff测试,结果发现数据量小的时候,测试几十万组随机数据都没问题,但是数据量大了以后就会不同,思前想后就是不知道算法写得有什么问题,因为本来就没什么复杂的地方嘛!后来,突然灵机一动,莫非又是数组开小了?突然意识到,我是用数组保...
分类:
编程语言 时间:
2015-04-07 00:31:27
阅读次数:
229
原题地址Prime算法,每次挑选一个距离原点最近的节点,然后收缩(visited为true)跟Dijkstra真的很像代码: 1 #include 2 #include 3 4 using namespace std; 5 6 #define MAX_POINT 1024 7 8 int ...
分类:
编程语言 时间:
2015-04-06 21:31:48
阅读次数:
171
这题我用prim算法和kruskal算法都提交了一下从代码量来看,prim算法更简洁一些,从时间复杂度来看,prim:O(n^2),kruskal:O(mlogm),kruskal更优kruskal:#include #include #include using namespace std;co....
分类:
其他好文 时间:
2015-04-06 15:41:45
阅读次数:
137
深夜来一发,裸的最小生成树,数据量还挺大,kruskal算法g++始终过不去,c++刚好飘过,这个时候就体现出kruskal和prim的适用范围的不同了,前者适用于稀疏图,后者适用于稠密图。kruskal算法: 1 #include 2 #include 3 using namespace st.....
分类:
其他好文 时间:
2015-04-06 00:52:57
阅读次数:
239
一般来说能用prim算法解决的用kruscal算法也能解决问题,所以为了锻炼自己,能用的都用两种方法解决;1.prim用prim也是简单的套模板,就是多了一步计算两点间距离,将距离不满足题意的两点的距离设为无穷大.没有什么难度; 1 #include 2 #include 3 #include .....
分类:
其他好文 时间:
2015-04-04 18:23:42
阅读次数:
144
这道题 就是简单的最小生成树算法的应用啦,很明显的..而且把所有边都给出来了,所以就试着自己把prim和kruscal一起实现了.1.prim算法实现 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #defi...
分类:
其他好文 时间:
2015-04-04 01:04:51
阅读次数:
256
(1)图中有6个顶点v1-v6,每条边的边权值都在图上;在进行prim算法时,我先随意选择一个顶点作为起始点,当然我们一般选择v1作为起始点,好,现在我们设U集合为当前所找到最小生成树里面的顶点,TE集合为所找到的边,现在状态如下:U={v1};TE={};(2)现在查找一个顶点在U集合中,另一个顶...
分类:
其他好文 时间:
2015-04-01 23:15:40
阅读次数:
144
总感觉Dijkstra跟prim思路很像,现在仔细想想虽然都算的上贪心,但是Dijkstra比prim复杂一点prim算法是一个最小生成树算法,它运用的是贪心原理(在这里不再证明),设置两个点集合,一个集合为要求的生成树的点集合A,另一个集合为未加入生成树的点B,它的具体实现过程是:第1步:所有的点...
分类:
其他好文 时间:
2015-03-29 12:12:04
阅读次数:
121
宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。poj3278思路:根节点n, n+1,n-1,2*n三个子节点不断地延伸,目标节点k,寻找这样一天最短的路...
分类:
其他好文 时间:
2015-03-28 18:38:46
阅读次数:
169