北极网络(Kruskal)
题目描述
国防部(DND)希望通过无线网络连接几个北部前哨站。
在建立网络时将使用两种不同的通信技术:每个前哨站都有一个无线电收发器,一些前哨站还有一个通信卫星。
任意两个拥有通信卫星的前哨站不论它们的位置如何,都可以通过卫星进行通信。
而如果利用无线电进行通信,则需要两个前哨站的距离不能超过D方可进行通信。
而D的大小取决于收发器的功率,收发器的功率越大,D也就越大,但是需要的成本也就越高。
出于采购和维护的考虑,所有的前哨站都采用相同的收发器,也就是说所有前哨站的无线电通信距离D都是相同的。
你需要确定在保证任意两个前哨站之间都能进行通信(直接或间接)的情况下,D的最小值是多少。
输入格式
第一行包含整数N,表示共有N组测试数据。
每组数据的第一行包含两个整数S和P,其中S为卫星个数,P为前哨站个数。
接下来P行每行包含两个整数x和y,分别表示一个前哨站的横纵坐标。
输出格式
输出一个实数,表示D的最小值,结果保留两位小数。
样例
样例输入
1
2 4
0 100
0 300
0 600
150 750
样例输出
212.13
题解
比较版的题,先邻接矩阵预处理两点见距离,再用Kruskal算法跑最小生成树。因为卫星可以不考虑距离,所以答案为最小生成树第S+1长的边。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int M=1e6+5;
struct edge{int u,v;double w;
}G[M];
struct node{int x,y;
}a[M];
int n,fa[M],cnt,T,p;
double P
北极网络(Kruskal)相关推荐
- 软件交互性友好性_您应该知道的8个环境友好的开放软件项目
软件交互性友好性 在过去的几年中,我一直在帮助绿色和平组织建立其第一个完全开源的软件项目Planet4.Planet4是一个全球参与平台,绿色和平组织的支持者和活动家可以在其中与组织互动和参与. 目标 ...
- 初学者acm的练习题指南
上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1. <!--[endif]-->Programming Bas ...
- 最小生成树——北极通讯网络
问题 B: 北极通讯网络 时间限制: 1 Sec 内存限制: 128 MB 提交: 17 解决: 7 [提交][状态][讨论版][命题人:add_xiezhenghao] 题目描述 北极的某区域共 ...
- 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度
对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的 边.说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度
- AcWing 1145. 北极通讯网络 题解
AcWing 1145. 北极通讯网络 北极的某区域共有 n 座村庄,每座村庄的坐标用一对整数 (x,y) 表示. 为了加强联系,决定在村庄之间建立通讯网络,使每两座村庄之间都可以直接或间接通讯. 通 ...
- 北极通讯网络(最小生成树)
北极通讯网络 题意 北极的某区域共有n座村庄,每座村庄的坐标用一对整数 (x,y)(x,y)(x,y) 表示.为了加强联系,决定在村庄之间建立通讯网络.通讯工具可以是无线电收发机,也可以是卫星设备.所 ...
- 【Kruskal】Agri-Net 最短网络
LinkLinkLink luogu 1546 ssl 1682 ssl 1764(有一点点小区别) DescriptionDescriptionDescription 农民约翰被选为他们镇的镇长!他 ...
- 最小生成树(Kruskal算法+Prim算法)简单讲解+最小生成树例题 acm寒假集训日记22/1/8
算法简讲部分: Kruskal算法: 基于贪心策略大致过程分为第三步:1. 我们先用结构体把每条边的端点和权值记录下来,然后对每条边按权值进行排序2. 因为 使图连通最少需要n-1 条边,所以我们依次 ...
- 【数据结构】最小生成树 Prim算法 Kruskal算法
最小生成树应用场景: 假设以下场景,有一块木板,板上钉上一些钉子,这些钉子可以由一些细绳连接起来.假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样得情况,即用最少的细绳把所有的钉子连接起 ...
最新文章
- matlab 如何代码自已标注_MATLAB概述
- c实现面向对象编程(3)
- Lucene的评分(score)机制的简单解释
- animate.css(第三方动画使用方法)
- 常见的几种负载均衡算法
- h5列表 php,H5的标签使用详解
- 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。...
- CALL TRANSACTION 和 SUBMIT 事务码之间的跳转
- 韵达混合云深度解析:Docker助力大规模云上调度实践
- MMIO与PIO区别
- oracle财务系统与erp,浅谈Oracle ERP财务系统在中煤建安集团的应用
- 8926音频录音流程
- linux 配置compoer
- 文件上传功能怎么测试
- 高级查询(mysql)
- .net rar zip压缩包解压
- 网络工程师眼中的自动化运维
- selenium找到页面元素click没反应
- 如何搭建Filecoin测试网挖矿节点 | 开发者专区系列01
- matlab错误使用 sum 数据类型无效。第一个参数必须为数值或逻辑值。解决方法