![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
ssl_yty
这个作者很懒,什么都没留下…
展开
-
【gmoj】【最小生成树】间谍派遣
出任务费用最小的肯定出(设A的出任务费用较小,A→B,让B出,B→A,让A出,传递等价,所以A出更优)因为所有的信息都要获得,说明构成一个连通图,即跑最小生成树(我用的prim)原创 2022-08-04 20:19:51 · 70 阅读 · 0 评论 -
【ybtoj 高效进阶 3.2】【最小生成树】 构造完全图
【ybtoj 高效进阶 3.2】【最小生成树】 构造完全图题目解题思路最小生成树就是在一个完全图里找到能使所有点相连且边权最小那么最小生成树中的一条边可以看作是连接两个大小为V1,V2的连通块中最短的边而完全图是所有节点都两两相连那么还需要连V1*V2-1条边为了边权最小且都大于最小生成树中的那一边d我们将ta视为d+1按边权大小排序查找每条边连接的点是否在同一集合不是就补边累计答案且合并两个集合感觉像并查集了(⊙_⊙)?代码#include<algorithm原创 2021-05-05 09:22:33 · 115 阅读 · 0 评论 -
【ybtoj 高效进阶 3.2】【最小生成树】 公路建设
【ybtoj 高效进阶 3.2】【最小生成树】 公路建设题目解题思路这道题恶心在时间复杂度Kruskal会比prim的时间复杂度低Kruskal是一种贪心我们只需要维护边权从小到大然后跑一遍并查集求出当前的最小花费如果不能覆盖所有城市,输出0代码#include<iostream>#include<cstdio>#include<cmath>using namespace std;struct lzf{ int x,y,c;}a[原创 2021-05-04 08:35:50 · 107 阅读 · 0 评论 -
【ybtoj 高效进阶 3.2】【最小生成树】 新的开始
【ybtoj 高效进阶 3.2】【最小生成树】 新的开始题目解题思路将建设发电站的费用看作是连向超级点的边权从超级点开始跑一边prim即可代码#include <iostream>#include <cstring>#include <cstdio>using namespace std;int n, x, tot , mi = 1, f[320], p[320], a[320][320];int main() { scanf("%d原创 2021-05-04 08:29:24 · 98 阅读 · 0 评论 -
【ybtoj 高效进阶 3.2】【最小生成树】 繁忙都市
【ybtoj 高效进阶 3.2】【最小生成树】 繁忙都市题目解题思路prim模板题解释在这里代码#include<iostream>#include<cstring> #include<cstdio>using namespace std;int n,m,x,y,ans,maxn,f[320],p[320],a[320][320];int main(){ scanf("%d%d",&n,&m); for (int i=1原创 2021-05-03 22:12:54 · 87 阅读 · 0 评论 -
剑鱼行动 题解
剑鱼行动题目给出N个点的坐标,对它们建立一个最小生成树,代价就是连接它们的路径的长度,现要求总长度最小。N的值在100以内,坐标值在[-10000,10000].结果保留二位小数输入第一行 nnn 点的个数接下来 nnn 行,nnn 个点的坐标输出最小总长度样例inpu50 00 11 11 00.5 0.5output2.83解题思路板子 + 特殊求两点之间...原创 2019-12-21 11:53:12 · 218 阅读 · 0 评论 -
Agri-Net 最短网络 (最小生成树) 题解
Agri-Net 最短网络 (最小生成树)题目农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过...原创 2019-12-21 11:20:32 · 1441 阅读 · 0 评论 -
最优布线问题 题解
最优布线问题题目学校有 nnn 台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们之间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接的通过若干台计算机( 作为中转 )来实现与另一台计算机的连接。现在由...原创 2019-12-21 10:11:40 · 1649 阅读 · 4 评论