随笔分类 -  图论——最短路&&K短路&&生成树问题

摘要:很裸的最短路径问题,这里用Dijkstra做的,前边已经写过Floyd和SPFA算法SPFA:http://www.cnblogs.com/vongang/archive/2011/08/16/2141334.htmlFloyd:http://www.cnblogs.com/vongang/archive/2011/08/16/2141019.htmlMy Code:#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int maxnum = 107; 阅读全文
posted @ 2011-08-16 19:35 AC_Von 阅读(296) 评论(0) 推荐(0) 编辑
摘要:查SPFA的资料时偶尔看到一种运用,然后很淡定的敲之1A了15MS+328k code:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 207;const int inf = 100000000;int vis[N], map[N][N];int dis[N], q[N];void spfa(int n, int s){ int i, f, r, p; memset(vis, 0, sizeof(vis)); for(i = 0; 阅读全文
posted @ 2011-08-16 17:34 AC_Von 阅读(722) 评论(0) 推荐(0) 编辑
摘要:求图中任意两点间的最短路径,个人感觉用Floyd比较好,有人说这道题可以用SPFA,目前还没有这方面的思路,先把Floyd的做法贴上,以后再补Floyd code:#include <iostream>#include <cstdio>using namespace std;const int inf = 100000000;const int N = 208;int dis[N][N];int n;void Floyd(){ int i, j, k; for(k = 0; k < n; k++) for(i = 0; i < n; i++) ... 阅读全文
posted @ 2011-08-16 17:03 AC_Von 阅读(313) 评论(0) 推荐(0) 编辑
摘要:Dijkstra算法 Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路称为从源到u的 阅读全文
posted @ 2011-08-02 22:10 AC_Von 阅读(587) 评论(0) 推荐(0) 编辑
摘要:Truck HistoryTime Limit:2000MSMemory Limit:65536KTotal Submissions:9665Accepted:3556DescriptionAdvanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. 阅读全文
posted @ 2011-07-28 11:11 AC_Von 阅读(565) 评论(0) 推荐(1) 编辑