正题

题目链接:
http://poj.org/problem?id=2560


大意

有n个点,给出坐标,求连接这n个点的最短路线


解题思路

KURUSKAL算法求最小生成树。


代码

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
double xx[101],yy[101],sum;
int n,father[101],s,p;
struct line{int first,last;double w;
}a[10001];
double dis(double xx1,double yy1,double xx2,double yy2)
{return sqrt((xx1-xx2)*(xx1-xx2)+(yy1-yy2)*(yy1-yy2));
}//求距离
bool cmp(line xx,line yy)
{return xx.w<yy.w;
}
int find(int xx)
{if (father[xx]!=xx) return father[xx]=find(father[xx]);else return father[xx];
}//找祖先
void llll(int xx,int yy)
{father[find(xx)]=find(yy);
}//连接
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%lf%lf",&xx[i],&yy[i]);}for (int i=1;i<n;i++)for (int j=i+1;j<=n;j++){a[++p].first=i;a[p].last=j;a[p].w=dis(xx[i],yy[i],xx[j],yy[j]);//加边}for (int i=1;i<=n;i++) father[i]=i;//初始化sort(a+1,a+1+p,cmp);//排序for (int i=1;i<=p;i++){if (find(a[i].first)!=find(a[i].last))//若没有连接{llll(a[i].first,a[i].last);//连接s++;//记录边数sum+=a[i].w;//记录价值}if (s==n-1) break;}printf("%0.2lf",sum);//输出
}

POJ2560-雀斑(Freckles)【图论,并查集,最小生成树,KURUSKAL】相关推荐

  1. 图论 + 并查集 ----最小生成树重构图 + 可撤销并查集 + set启发式合并 时间线上的离线求解 D. Graph and Queries

    解题思路 题目大意: 就是给你一个无向图,每个点都有一个权值,和qqq次询问 每次询问有两种操作 1 x:就询问从x点出发,能访问到的最大权值是多少,并把最大权值那个点的权值设置为0 2 x:就是删除 ...

  2. [并查集][最小生成树]PJOJ 2560 雀斑连线/luogu 2921 修复公路

    题目描述 In an episode of the Dick Van Dyke show, little Richie connects the freckles on his Dad's back ...

  3. 【HDU - 1863】 畅通工程(并查集+最小生成树)

    题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...

  4. Kruskal算法:贪心+并查集=最小生成树

    http://www.51nod.com/ Kruskal算法的高效实现需要一种称作并查集的结构.我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论. Kruskal算 ...

  5. 20211229[按秩合并并查集 最小生成树][BZOJ4668]冷战

    20211229[按秩合并并查集.最小生成树][BZOJ4668]冷战 题意:给定N点,动态加边与询问两点最早是哪条边开始连通,强制在线 首先如果离线的话可以直接跑最小生成树,不过代码不好处理. 当然 ...

  6. 畅通工程 hdu 1232 HDU - 1863 (并查集+最小生成树)

    畅通工程hdu 1232 并查集 Problem Description Input Output 参考代码 HDU - 1863 Problem Description Input Output 参 ...

  7. 计科练习12题解(并查集,最小生成树)

    目录 黑暗意志 闪闪发光 最小生成树(Prim) 并查集 隔离 最小生成树(Kruskal) 黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现. ...

  8. PIPI OJ 1118: 继续畅通工程(并查集+最小生成树)

    菜鸟生成记(18) 1118: 继续畅通工程 又双叒叕是最短路径的水题;不同的是,在构造最小生成树前,题目中已经规定一些已经建好了(这些边已经在生成树里面了);从未建好的边中选择最优边加入生成树;直到 ...

  9. 牛客小白月赛25 C-白魔法师 ( 图论 + 并查集 )

    题目链接 解题报告: 思路:如果将一个黑色点染成白色,那么将得到一个白色连通块,这个连通块由和这个黑色点连结的所有白色连通块组成. 如果将一个白色点染成白色,那么不会有任何变化. 所以我们可以先并查集 ...

  10. 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】

    正题 题目链接:https://ac.nowcoder.com/acm/contest/1221/H 题目大意 给一张图,要求删掉一些边使得最小生成树权值不变,然后求删掉的边的最小权值. 解题思路 我 ...

最新文章

  1. winform如何保持TreeView节点展开和折叠的状态
  2. JavaEE 的基本实现
  3. 今日头条极速版怎样签到_今日头条投放广告的费用多少钱?今日头条广告投放完整流程是怎样?...
  4. .NET Core下的开源分布式任务调度系统ScheduleMaster-v2.0低调发布
  5. member pm.php,Dedecms 会员中心注入漏洞5
  6. 高度焦虑、凌晨出没、空中飞人,这些竟是 IT 大佬的日常!
  7. 用C#读取数码相片的EXIF信息(一)
  8. ivar和property
  9. alienware 15 r2 linux驱动下载,外星人笔记本驱动-外星人Alienware驱动下载 官方版-下载啦...
  10. 爬虫基础知识+Scrapy框架
  11. JavaScript案例:页面自动跳转到首页
  12. 【思维导图】前端开发JavaScript-巩固你的JavaScript知识体系
  13. ‘__NR_sigreturn’ was not declared in this scope
  14. 书论51 朱文长《续书断》
  15. XTU Oj 128
  16. OCR识别--详解驾驶证识别技术
  17. 正则表达式转NFA,DFA,最小化DFA
  18. 编程英文单字的标准缩写
  19. P44 单行子查询案例分析
  20. 微原实验三 基本IO口扩展

热门文章

  1. java导入导出excel_Java导入导出Excel工具 easyexcel
  2. oracle日志文件大小规则,在线重做Oracle日志文件大小
  3. mysql 基础视图_MySQL基础(4) | 视图
  4. self php语法,PHP代码审计之关于PHP_SELF的简单利用
  5. 后端学习 - MySQL存储引擎、索引与事务
  6. leetcode76:最小覆盖字串(滑动窗口)
  7. 计算机系统结构答案汤志忠,计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc...
  8. 上元节的灯会(亮)-dfs
  9. 高等数学上-赵立军-北京大学出版社-题解-练习2.6
  10. [蓝桥杯2016初赛]搭积木-枚举,next_permutation