
====图论====
文章平均质量分 73
userluoxuan
这个作者很懒,什么都没留下…
展开
-
Highways(最小生成树)
解题思路: Prime算法的水题,只需要再找出每条路径中的最大值原创 2014-07-28 13:59:12 · 510 阅读 · 0 评论 -
HDU Today(三种写法)(最短路)
解题思路: 题目唯一难点就是如何去表示地点,用map映射可以轻松搞定,一个地点名对应一个值,剩下的就是求最短路径。下面给出三个代码,第一个是用朴素Dijkstra写的,第二个用了Floyd,第三个用了Dijkstra + heap。感觉上运行效率差不多。。。。。 AC代码: Dijkstra: #include #include #include #include usin原创 2014-07-27 16:30:01 · 1496 阅读 · 0 评论 -
畅通工程(最小生成树)
解题思路: prime算法原创 2014-07-28 13:56:02 · 575 阅读 · 0 评论 -
Jungle Roads(最小生成树)
解题思路: 简单的最小生成树问题,用prime算法即可。原创 2014-07-27 00:07:43 · 636 阅读 · 0 评论 -
继续畅通工程(最小生成树)
解题思路: 已建成的就不需要考虑两地间的距离原创 2014-07-28 14:12:00 · 486 阅读 · 0 评论 -
HDU Today(最小生成树)
解题思路: 由于给的是坐标,所以得用勾股定理求出两点间的距离,剩下的原创 2014-07-28 14:06:47 · 518 阅读 · 0 评论 -
Floyd算法模板
Floyd可以求出任意两点间的最短距离,代码也相对简单,对于稀疏图来说效率也还是不错的,但由于三个for循环导致时间复杂度较高,不适合稠密图。 Floyd算法模板(精简版): void Floyd() { int dist[maxn][maxn]; // dist存储i到j的最短距离 for(int k = 1; k <= n; k++) for(int原创 2014-07-27 12:28:57 · 1197 阅读 · 0 评论 -
Dijkstra + heap
用优先队列实现 模板: struct node { int pos, dist; friend bool operator < (node a, node b) { return a.dist > b.dist; } }; int Dijkstra(int n,int start,int end) { bool visited[maxn]原创 2014-07-27 16:17:28 · 690 阅读 · 0 评论 -
昂贵的聘礼(最短路)
Description 年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用原创 2014-07-29 19:59:58 · 610 阅读 · 0 评论 -
小镇网(最小生成树)
Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了使花费最少,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000原创 2014-07-14 23:21:06 · 1347 阅读 · 1 评论 -
畅通工程续(最短路)
解题思路: 我用Dijkstra来做原创 2014-07-28 14:18:54 · 458 阅读 · 0 评论 -
最短路(最短路)
解题思路: 我选择用Floyd算法来做,代码原创 2014-07-28 14:15:59 · 555 阅读 · 0 评论