
Building Roads S-最小生成树
发布日期:2021-05-07 07:25:06
浏览次数:20
分类:精选文章
本文共 1441 字,大约阅读时间需要 4 分钟。
#include#include #include #include using namespace std;int n,m,aa,bb,f[1000005],xxx[1000005],yyy[1000005];struct date{ int x,y; double sqr;}a[1000005];int find(int x){ if(f[x]!=x) f[x]=find(f[x]); return f[x];}bool cmp(date a,date b){ return a.sqr >n>>m; for(i=1;i<=n;i++) cin>>xxx[i]>>yyy[i]; for(i=1;i<=n;i++) f[i]=i; for(i=1;i<=n;i++){ for(j=i+1;j<=n;j++){ a[l].x=i; a[l].y=j; a[l++].sqr=(double)sqrt((double)(xxx[i]-xxx[j])*(xxx[i]-xxx[j])+(double)(yyy[i]-yyy[j])*(yyy[i]-yyy[j])); } } for(i=1;i<=m;i++){ cin>>aa>>bb; a[l].x=aa; a[l].y=bb; a[l++].sqr=0.0; } //kruskal sort(a+1,a+1+l,cmp); double ans=0.0; for(i=1;i<=l;i++){ aa=a[i].x; bb=a[i].y; if(find(aa)==find(bb)) continue; f[find(aa)]=find(bb); ans+=a[i].sqr; } printf("%.2lf",ans); return 0;}
这题与最小生成树大致是一样的,使用kruskal算法模板,差别在于,此题没有给出节点权值,需要自己求出,并且使给出的节点权值为0,这样在求和时,就不会再多加。
优雅又不尴尬的分界线
刚开始在洛谷写的写对了,然后再poj上遇见,给提交了,昨夜搞了仨小时没过,还是老样子,有空再改吧
输入格式
Line 1: Two space-separated integers: N and M
Lines 2…N+1: Two space-separated integers: Xi and Yi
Lines N+2…N+M+2: Two space-separated integers: i and j, indicating that there is already a road connecting the farm i and farm j.
输出格式
- Line 1: Smallest length of additional roads required to connect all farms, printed without rounding to two decimal places. Be sure to calculate distances as 64-bit floating point numbers.
发表评论
最新留言
很好
[***.229.124.182]2025年04月07日 12时31分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
(数据科学学习手札23)决策树分类原理详解&Python与R实现
2021-05-09
(数据科学学习手札27)sklearn数据集分割方法汇总
2021-05-09
(数据科学学习手札40)tensorflow实现LSTM时间序列预测
2021-05-09
[整理] 哪些集合类是线程安全的?(Java)
2021-05-09
[整理] UML的各种图总结
2021-05-09
8 个警示和学习的 5 个阶段
2021-05-09
c# 图片带水纹波动
2021-05-09
H5 贪吃蛇源码
2021-05-09
从零开始学安全(十六)● Linux vim命令
2021-05-09
从零开始学安全(三十四)●百度杯 ctf比赛 九月场 sqli
2021-05-09
3389连接痕迹清除
2021-05-09
发生系统错误 6118
2021-05-09
c# API接受图片文件以文件格式上传图片
2021-05-09
阿里巴巴Json工具-Fastjson教程
2021-05-09
Spring Cloud Gateway - 快速开始
2021-05-09
Spring Security 实战干货:理解AuthenticationManager
2021-05-09
Java对象转JSON时如何动态的增删改查属性
2021-05-09
Python 面向对象进阶
2021-05-09
Linux常用统计命令之wc
2021-05-09
Git安装及使用以及连接GitHub方法详解
2021-05-09