图论算法+图论500题
文章平均质量分 63
学习图论算法有益身体健康
CEDL
程序员之所以犯错,并不是因为他们不懂,是因为他们什么都懂
展开
-
图论500题——POJ_P1308 Is_It_A _tree?
题目: Is It A Tree? Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33009 Accepted: 11196 DescriptionA tree is a well-known data structure that is either empty (null, void,原创 2017-07-17 17:25:53 · 918 阅读 · 0 评论 -
图论500题——HDU_P1272(小希的迷宫)
题目: 小希的迷宫Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 50831 Accepted Submission(s): 15852Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Probl原创 2017-07-11 19:40:21 · 988 阅读 · 0 评论 -
图论500题——HDU_P1213 How Many Tables
题目:戳我 这是一道并查集的基础应用题,也是图论500题(戳我)里的第一题,图论500题是个好东西,有兴趣搞图论的童鞋可以去做一做。 题目大意:给出一个图,求里面有多少个连通分支。 并查集可以干这事,先按照并查集的基本框架打一遍,也就是:int father[1001],n,m;int get_father(int u){ if(father[u]==u)return u;原创 2017-06-29 16:38:43 · 268 阅读 · 0 评论 -
图论算法——SPFA算法
SPFA算法是单源最短路径的最快算法,时间复杂度是O(KE)K一般为1或2,E是边数,就算他O(E)好了。 SPFA在很多教科书上都没有,主要是因为SPFA是中国人提出来的,外国人很少知道,所以就没有Dijkstra拿下算法那么热门,虽然不是很热门,但算法本身还是很好的。 SPFA是Bellman-ford的优化版,单源最短路径,可以检查出有没有负权环,最重要的是没有Dijkstra那么好卡。原创 2017-06-26 12:23:34 · 617 阅读 · 0 评论 -
图论算法——Kruskal算法
Kruskal 算法是针对最小生成树的一个算法,不优化的时间复杂度是O(e^2),用并查集优化的时间复杂度就是O(eloge)其中e为边数。 所以就可以看出,并查集对Kruskal的优化还是很大的。 我们先来看看Kruskal针对的到底是一个什么样的问题: •输入一个有权无向连通图G,在已有的边中删掉尽可能多的边得到一个新的图G’。使得G’依旧是连通图并且剩余的边权值之和最小,请输出G’中所有原创 2017-06-27 22:00:49 · 612 阅读 · 0 评论