
图论
Ca1ma_hu
这个作者很懒,什么都没留下…
展开
-
二分图匹配---匈牙利算法学习
这篇博文写的非常好 #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1010; int Map[maxn][ma...原创 2018-04-30 15:41:50 · 116 阅读 · 0 评论 -
一些图论、网络流入门题总结、汇总
转自 POJ 2449 Remmarguts' Date(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2449 题意:经典问题:K短路 解法:dijkstra+A*(rec),方法很多 相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144 该题亦放在搜索推荐题中 P...转载 2018-04-23 18:27:19 · 197 阅读 · 0 评论 -
网络流---最大流(Edmond-Karp算法)的学习
先上个代码,等有空补充详解 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm> using namespace std; const int maxn = 1010...原创 2018-04-17 19:49:13 · 258 阅读 · 0 评论 -
最短路问题---Dijkstra算法学习
Dijkstra又称单源最短路算法,就从一个节点到其他各点的最短路,解决的是有向图的最短路问题 此算法的特点是:从起始点为中心点向外层层扩展,直到扩展到中终点为止。 该算法的条件是所给图的所有边的权值非负。 实现的Dijkstra的过程其实也是一种贪心。 其实把下图看懂,基本Dijkstra的实现流程就差不多了 算法流程如图: 算法代码: #include<iostr...原创 2018-04-07 20:08:41 · 1170 阅读 · 1 评论 -
最小生成树问题---Prim算法学习
一个具有n个节点的连通图的生成树是原图的最小连通子集,它包含了n个节点和n-1条边。若砍去任一条边,则生成树变为非连通图;若增加一条边,则在图中形成一条回路。本文所写的是一个带权的无向连通图中寻求各边权和最小的生成树。 计算最小生成树的的方法是贪心,则必须满足一下两个条件: 1)不能形成回路; 2)在保证1满足的条件下添加尽可能小的边。 实现的算法有两种,kruskal算法,prim算法,...原创 2018-04-07 15:06:16 · 639 阅读 · 0 评论 -
图的存储(1)---邻接矩阵和邻接表的学习
在图论中,一般都要先把图的信息存起来,然后在运用算法去解题,在这一篇博客中,我只说两种存图方式,一个是邻接矩阵,另一个是邻接表;还有两种存图方式在下一篇博客给大家具体说。 邻接矩阵:它的优点是好写,但是效率在数据达到1000以上就会超过1s的时间,所以要针对题目所给要求,来选择合适的存图方式。 #include<iostream> #include<cstdio> #...原创 2018-04-04 20:13:11 · 162 阅读 · 0 评论 -
图的存储(2)---链式前向星的学习
本文的来源 对链式的原理的很好的图解 我对前向星的理解是:其实就是邻接表的另外一种表示方式,思想是一样的。 学过数据结构的都知道图有两种存储方式,一种是邻接表,另一种是邻接矩阵,其实还有一种是前向星,而链式前向星是在前向星基础上优化后的。 邻接表:效率高不好写; 邻接矩阵:好写效率低; 前向星:它是基于邻接表和邻接矩阵之间的; 链式前向星:好写效率相对前向星要好多; 先写前向星:构...原创 2018-04-03 19:46:54 · 213 阅读 · 0 评论 -
HDU 1223 还是畅通工程(最小生成树prim模板)
一个很简单的prim模板,但虽然是模板,但也是最基础的,也要脱离模板熟练打出来 后期会更新kruskal写法 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; c...原创 2018-04-02 20:49:13 · 196 阅读 · 0 评论