
树-生成树
LucienShui
因为孤独是人之常态,所以陪伴才显得格外可贵。
展开
-
POJ 2421 Constructing Roads 最小生成树
题目大意就是给你一个n,随后是一个n×n的矩阵mp,mp[i][j]代表i点到j点的距离。然后给一个q,接下来的q行代表a村庄和b村庄已经建好路了。 思路很简单,将矩阵读入之后,再根据a,b将mp[a][b]和mp[b][a]赋值为0,随后用prim求解就可以。// // main.cpp // L // // Created by LucienShui on 2017/5/11. //原创 2017-05-11 20:23:02 · 401 阅读 · 0 评论 -
UPCOJ-4161 - BZOJ-2753 - 滑雪与时间胶囊 - 最小生成树
题目: Description a180285非常喜欢滑雪。他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1 现在,a180285站在1号景点望着山下的目标,心潮澎湃。他十分想知道在不考虑时间胶囊消耗的情况下,以最短滑行距离滑到尽量多的景点的方案(即满足经过景点数最大的前提下使得滑行总距离最小)。你能帮他求出最短距离和景点数吗?原创 2018-01-22 18:53:43 · 246 阅读 · 0 评论 -
POJ 1258 Agri-Net 最小生成树
POJ 1258 Agri-Net 最小生成树 题意:有n个点,给你一个方阵代表他们两两之间的距离,求最小生成树。 思路:大水题,直接prim解决。AC代码:// // main.cpp // L // // Created by LucienShui on 2017/5/11. // Copyright © 2017年 LucienShui. All rights reserved.原创 2017-05-21 17:42:50 · 304 阅读 · 0 评论 -
POJ 1751 Highways 最小生成树
POJ 1751 Highways 最小生成树 题意:给你n个村庄的坐标,然后再给你m行,每行的两个数字代表公路两端的村庄编号(1~n),问在花费最少的情况下还需建哪些路才能使所有村庄连通。 思路:kruskal的话思路很明确,先建好边集,然后将每条已经建好的路执行合并操作,即Add(a,b);,然后再用kruskal输出一遍每次建边的两个村庄编号就OK。prim的话,没想到该怎么写,网上很多题原创 2017-05-21 17:25:57 · 303 阅读 · 0 评论 -
POJ 1679 - The Unique MST - 次小生成树
POJ 1679 - The Unique MST - 次小生成树 Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A原创 2017-05-23 16:44:25 · 394 阅读 · 0 评论 -
POJ 2349 Arctic Network 最小生成树
POJ 2349 Arctic Network 最小生成树 Kruskal原创 2017-05-18 17:38:43 · 357 阅读 · 0 评论 -
Prim算法简明
Prim算法简明 prim(普利姆)算法和Kruskal算法一般用于解决最小生成树问题,网上还有一个Prim+Heap的算法,空间复杂度比较高,但是效率很高。 这里来简要讲一下prim,大致意思就是先取一个点作为树根(随机哪个点都无所谓,因为最终每个点都会在最小生成树内,所以每个点都可以是树根),然后每次选一个距离当前已有生成树最近的一个点加入生成树形成一个新的生成树,如此一来当所有的点都加入生原创 2017-05-15 14:05:40 · 758 阅读 · 0 评论 -
Kruskal算法简明
Kruskal算法简明 Kruskal(克鲁斯卡)算法和Prim算法般用于解决最小生成树问题,网上还有一个Prim+Heap的算法,空间复杂度比较高,但是效率很高。 Kruskal理解起来感觉会比prim好理解一些,和prim一样需要结合贪心思想,只是Kruskal需要结合并查集来使用。 算法的大致思想就是,先把所有的点等地位的铺开,然后先找到两个距离最近的点,将它们连起来,然后再找两个距离最原创 2017-05-15 14:33:32 · 630 阅读 · 0 评论 -
畅通工程再续 - HDU 1875 - 最小生成树
畅通工程再续 - HDU 1875 - 最小生成树 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于原创 2017-05-23 17:50:31 · 310 阅读 · 0 评论 -
Jungle Roads - HDU 1301 - 最小生成树
Jungle Roads - HDU 1301 - 最小生成树 这道题和Jungle Roads - POJ 1251 - Virtual Judge完全是一道题,直接把代码复制粘贴一遍就可以了。当时被作为Kruskal算法的例题。 代码传送门:Kruskal算法简明原创 2017-05-23 17:14:20 · 422 阅读 · 0 评论 -
HDU 1233 - 还是畅通工程 - 最小生成树
HDU 1233 - 还是畅通工程 - 最小生成树 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。Input 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-原创 2017-05-23 17:08:37 · 332 阅读 · 0 评论 -
次小生成树 prim求法入门
次小生成树 prim求法入门 设G = (V,E,w)是连通的无向图,T是图G的一颗最小生成树。 如果有另一棵树T1,满足存不存在树T’,ω(T’)<ω(T1),则称T1是图G的次小生成树。次小生成树一般又最小生成树的邻集求得。邻集的概念: 由T进行一次可行交换得到的新的生成树所组成的集合,称为树T的邻集,记为N(T)。然后,求T的邻集中权值和最小的生成树,即图G的次小生成树。 如果只是简单原创 2017-05-23 16:39:09 · 611 阅读 · 0 评论 -
ZOJ 1586 QS Network 最小生成树
kuangbin专题里最小生成树的一道水题原创 2017-05-11 20:43:07 · 593 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛-J - Maze Designer - 最大生成树
题解链接 https://www.lucien.ink/archives/344/ 题目链接 https://nanti.jisuanke.com/t/31462 题目 After the long vacation, the maze designer master has to do his job. A tour company gives him a map wh...原创 2018-09-10 02:05:26 · 582 阅读 · 0 评论