博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【洛谷习题】无线通讯网
阅读量:4955 次
发布时间:2019-06-12

本文共 1672 字,大约阅读时间需要 5 分钟。

题目链接:


 

呃呃,最小生成树里确实没有类似的性质。但我们假设我们已经选出了n-1条边,现在就要考虑安装卫星电话了。安装卫星电话会使得一些边的权值变为0,就一定会进入最小生成树。假如某条边本来就在MST当中(且不是最大边权),那么最大边权不会被改变;如果这条边不在MST中,或者就是边权最大边,最大边权就会改变,而且是变为原来的次大边权。明白了这个也就是道水题了,但需要注意,边的数量,也就是开好数组!!!

1 #include 
2 #include
3 #include
4 5 using namespace std; 6 7 const int maxn = 505; 8 9 int x[maxn], y[maxn];10 11 struct Edge {12 int u, v;13 double w;14 bool operator < (const Edge& rhs) const {15 return w < rhs.w;16 }17 } edge[maxn * maxn / 2];18 19 inline int pw2(int x) {20 return x * x;21 }22 23 inline double dis(int i, int j) {24 return sqrt(pw2(x[i] - x[j]) + pw2(y[i] - y[j]));25 }26 27 int fa[maxn];28 29 int dj_find(int i) {30 if (i == fa[i]) return i;31 else return fa[i] = dj_find(fa[i]);32 }33 34 inline void dj_merge(int a, int b) {35 fa[dj_find(a)] = dj_find(b);36 }37 38 int main() {39 int s, p, eid = 0, cnt = 0;40 scanf("%d%d", &s, &p);41 for (int i = 1; i <= p; ++i)42 scanf("%d%d", &x[i], &y[i]);43 for (int i = 1; i < p; ++i)44 for (int j = i + 1; j <= p; ++j)45 edge[++eid].u = i, edge[eid]. v = j, edge[eid].w = dis(i, j);46 sort(edge + 1, edge + eid + 1);47 for (int i = 1; i <= p; ++i) fa[i] = i;48 for (int i = 1; i <= eid; ++i) {49 int u = edge[i].u, v = edge[i].v;50 if (dj_find(u) != dj_find(v)) {51 dj_merge(u, v);52 if (++cnt == p - s) {53 printf("%.2f", edge[i].w);54 return 0;55 }56 }57 }58 return 0;59 }
AC代码

 

转载于:https://www.cnblogs.com/Mr94Kevin/p/9572671.html

你可能感兴趣的文章
mac xcworkspace xcodebuild
查看>>
把纯真IP数据库中的记录导入Mysql数据库的PHP脚本
查看>>
基于Annotation的IOC 初始化
查看>>
ActiveMQ:JMS开源框架入门介绍
查看>>
windows写文件到ubuntu之ftp
查看>>
Mac下的裁剪快捷键
查看>>
通过51degrees.mobi 2.1.15.1 检测UserAgent判断是否为手机,并获取手机硬件型号
查看>>
Windows Server 2012及以上安装IIS的步骤
查看>>
ios swift 计算文件夹大小以及清除缓存文件
查看>>
vCenter 6.5安装
查看>>
关于linux下jdk的安装与环境配置(来自朋友Janie)
查看>>
Python数据分析之numpy学习
查看>>
maven的setting,仓库连接为阿里云
查看>>
40款非常棒的 jQuery 插件和制作教程(系列一)
查看>>
[leetcode]Divide and Conquer-169. Majority Element
查看>>
IntegrityError错误
查看>>
爱情语录
查看>>
sql server死锁神器
查看>>
虚函数和纯虚函数
查看>>
43. Multiply Strings 字符串相乘
查看>>