随笔分类 -  图论:最小生成树

摘要:解题报告 题意理解 给定一张N个点,M个边的无向图,求出无向图的一颗最小生成树,但是我们要求一号节点的入度不可以超过给定的整数S 也就是一个最小生成树,要求它的一号节点,最多只能和S个节点相连. 思路确定 题意就已经告诉我们,我们的必备算法必然是最小生成树.但是具体的算法流程,我们还得思考一下. 首 阅读全文
posted @ 2019-08-13 15:14 DWVictor 阅读(273) 评论(0) 推荐(0)
摘要:Desert King Time Limit: 3000MS Memory Limit: 65536K Total Submissions:33847 Accepted: 9208 Description David the Great has just become the king of a d 阅读全文
posted @ 2019-07-23 14:25 DWVictor 阅读(295) 评论(0) 推荐(0)
摘要:题意 求生成树的最长边与最短边的差值的最小值 题解 最小生成树保证每一条边最小,就只要枚举最小边开始,跑最小生成树,最后一个值便是最大值 在枚举最小边同时维护差值最小,不断更新最小值。 C++代码 阅读全文
posted @ 2019-07-22 21:44 DWVictor 阅读(394) 评论(0) 推荐(0)
摘要:生成树的概念 在一个任意连通图G中,如果取它的全部顶点和一部分边构成一个子图G',即:V(G')=V(G)和E(G')⊆E(G) 若同时满足边集E(G')中的所有边既能够使全部顶点连通而又不形成任何回路,则称子图G'是原图G的一棵生成树。 下面简单说明一下,在既能够连通图G中的全部n个顶点又没有形成 阅读全文
posted @ 2019-01-17 16:22 DWVictor 阅读(444) 评论(0) 推荐(0)
摘要:Kruskal算法 1.概览 Kruskal算法是一种用来寻找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应用。和Boruvka算法不同的地方是,Kruskal算法在图中存在相同权值的边时也有效。 阅读全文
posted @ 2019-01-17 15:54 DWVictor 阅读(3561) 评论(0) 推荐(1)
摘要:Prim算法 1.概览 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼 阅读全文
posted @ 2019-01-16 22:12 DWVictor 阅读(1703) 评论(0) 推荐(1)
摘要:一.概述 加权无向图是一种在无向图的基础上,为每条边关联一个权值或是成本的图模型.应用可以有很多:例如在一幅航空图中,边表示导线,权值则表示导线的长度或是成本等. 图的生成树是它的一颗含有其所有顶点的无环连通子图,一幅加权图的最小生成树(MST)是它的一颗权值(树中的所有边的权值之和)最小的生成树. 阅读全文
posted @ 2019-01-16 21:49 DWVictor 阅读(765) 评论(0) 推荐(0)
摘要:AC代码: 最小生成树模板 /* Kruskal 基本模板*/ #include<bits/stdc++.h> using namespace std; const int maxn=1e3; struct Edge{ int from,to,dist; Edge(int f,int t,int d 阅读全文
posted @ 2019-01-15 22:17 DWVictor 阅读(210) 评论(0) 推荐(0)