
最小生成树
ssllyr
锦瑟无端五十弦,一弦一柱思华年。
展开
-
【poj1679】唯一【最小生成树】【次小生成树】
给定一个带权无向图,问该图的最小生成树是否唯一?原创 2023-08-15 11:59:25 · 83 阅读 · 0 评论 -
【洛谷P2502】P2502 [HAOI2006] 旅行【最小生成树】
最小生成树变式原创 2022-08-09 21:31:14 · 113 阅读 · 0 评论 -
【专题复习】最小生成树
最小生成树原创 2022-08-09 21:21:44 · 60 阅读 · 0 评论 -
【8.21模拟赛T2.7221】[USACO21OPEN] Portals G【kruskal】
题目链接:https://www.luogu.com.cn/problem/P7528,https://gmoj.net/senior/#main/show/7221 分析 这题题意真是有点点玄啊。 但是我看了题意分析之后就感觉不是特别难。 一开始(1,2)(3.4)是配对的,我们需要改变传送门的位置使所有的点变成一个连通块。很显然如果存在两个环, 我们需要将它变成一个环,那么就可以达到目的了。 上代码 #include<iostream> #include<cstdio> #...原创 2021-08-25 10:08:41 · 157 阅读 · 0 评论 -
【8.20模拟赛T4.3410】Tree【最小生成树】【数学】
分析 侯哥强赛时AC 只有n-1个队伍,好像跟树有关。就是最小生成树的变式啊! 枚举平均数按照边权减去枚举的数的绝对值排序,做最小生成树。然后套公式就完事了????但是是真的完事了。 上代码 #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; int n,m,fa[2007],e[2007]; double mn=0x...原创 2021-08-21 08:27:10 · 96 阅读 · 0 评论 -
【ybtoj 4.5 倍增问题课堂过关】【洛谷P1967】D. 货车运输【LCA+最大生成树】
题目链接:洛谷、ybtoj 分析 当两个城市可以互相到达的时候,最优路线一定位于原图的最大生成森林上。 这题是LCA经典应用:静态树上链的权值查询问题。 dis[i,j]dis[i,j]dis[i,j]表示从iii出发向上走2j2^j2j步的所有点的边权最小值。转移:dis[i,j]=min(dis[i,j−1],dis[f[i,j−1],j−1])dis[i,j]=min(dis[i,j-1],dis[f[i,j-1],j-1])dis[i,j]=min(dis[i,j−1],dis[f[i,j−1],.原创 2021-08-13 10:51:14 · 113 阅读 · 0 评论 -
【洛谷P2323】【gmoj1255】【8.11模拟赛T2】公路修建问题【kruskal+贪心】
题目链接:gmoj、洛谷 分析 这题一眼看就像是最小生成树,但又好像不完全是。。一开始想着裸的贪心好像也不太可行。 于是,美妙的结合来了。 因为对于一级公路来说最大的一级公路一定是全部公路中最大的。而如果一个二级公路很大,所对应一级公路一定更大。所以就符合贪心啦。 只要选取最小的k条一级公路就可以。如果换成任意一个一级公路都会更大。 而且要记录这k条一级公路连通了几个点,这里用kruskal实现。 然后剩下没有连通的点,再排序二级公路的大小,用最小生成树实现连通。这里并不会选到重复的边,因为选过记录了连..原创 2021-08-11 19:22:51 · 78 阅读 · 0 评论 -
【ybtoj 3.2 最小生成树课堂过关】D.构造完全图【kruskal】
题目链接:构造完全图 分析 记录每个连通块的节点数,kruskal,合并时统计答案 上代码 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; struct lwx { int x,y,d; }a[100001]; long long n,fa[100001],siz[100001]; int father(int k) { if(fa[k]==k) r.原创 2021-07-12 08:49:18 · 78 阅读 · 0 评论 -
【ybtoj 3.2 最小生成树课堂过关】C.公路建设【kruskal优化】
题目链接:公路建设 分析 kruskal求最小生成树 然后算费用 上代码 #include<iostream> #include<cstdio> #include<iomanip> #include<algorithm> using namespace std; int n,m; int fa[501]; struct lwx { int x,y,z; }a[2001]; int father(int x) { if(fa[x]==x) retu..原创 2021-07-12 07:52:37 · 116 阅读 · 0 评论 -
【ybtoj 3.2 最小生成树课堂过关】B.新的开始【prim】
题目链接:新的开始 分析 prim模板题 设0号为超级电源,所有点都要直接或间接与0号相连。求最小花费即可。 上代码 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,ans; int v[301],dis[301],a[301][301]; int main() { cin>>n; for(int i=1;i<=n;i++) .原创 2021-07-12 07:45:00 · 74 阅读 · 0 评论 -
【ybtoj 3.2 最小生成树课堂过关】A.繁忙都市【kruskal】
题目链接:繁忙都市 分析 最小生成树模板题 上代码 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,m,ans,fa[1000010]; struct lwx { int u,v,c; }a[1000001]; bool cmp(lwx l,lwx r) { return l.c<r.c; } int father(int x) { .原创 2021-07-12 07:40:17 · 112 阅读 · 0 评论 -
【ssl1682】USACO 3.1 Agri-Net 最短网络 (最小生成树)【kruskal】【并查集】
Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000 Input 第一行: 农场的个数,N(3<=N<=100)。 第二行…结尾: 后来的行包含了一个N*N的矩阵,表原创 2020-07-20 21:52:14 · 276 阅读 · 0 评论 -
2020寒假【gmoj2183】【road羊羊吃草】【最小生成树:普里姆&克鲁斯卡尔+并查集】
题目描述 经过特色示范羊村检查,检查组觉得羊村的道路需要重修,破败的道路,会影响到小羊们上学的安全。 村长组织施工队,开始丈量距离,规划施工方案,已经得到了若干建筑物间修建道路的可行方案,共有N个建筑物,和M条可选道路。这些路保证可以将N个建筑相连。 最终方案中,羊村打算修建全球最豪华的全大理石道路,道路可以双向通行,且一体成型,路中无缝隙。为了达到这个设计要求,就必须自建大理石工厂! 大理石工厂...原创 2020-03-29 20:40:26 · 222 阅读 · 1 评论 -
【SSL1682】USACO 3.1 Agri-Net 最短网络【最小生成树】
Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000 Input ...原创 2019-12-21 10:19:37 · 182 阅读 · 0 评论 -
【SSL1618】剑鱼行动【最小生成树】【prim】
Description 给出N个点的坐标,对它们建立一个最小生成树,代价就是连接它们的路径的长度,现要求总长度最小。N的值在100以内,坐标值在[-10000,10000].结果保留二位小数 Input 5 ---------------5个点 0 0 ---------------5个点点的坐标 0 1 1 1 1 0 0.5 0.5 Output 2.83 分析 这题也是比较纯粹的模板题,只是...原创 2019-12-21 09:21:53 · 187 阅读 · 1 评论