C++之路进阶——bzoj1821(部落划分)
![](http://www.lydsy.com/JudgeOnline/image/logo.png)
F.A.Qs | Home | Discuss | ProblemSet | Status | Ranklist | Contest | ModifyUser hyxzc | Logout | 捐赠本站 |
---|
1821: [JSOI2010]Group 部落划分 Group
Time Limit: 10 Sec Memory Limit: 64 MB
Submit: 1678 Solved: 800
[Submit][Status][Discuss]
Description
![](http://www.lydsy.com/JudgeOnline/images/1821.jpg)
Input
Output
Sample Input
0 0
0 1
1 1
1 0
Sample Output
1 #include<cstdio> 2 #include<cmath> 3 #include<iostream> 4 #include<algorithm> 5 #define maxn 1010 6 7 using namespace std; 8 9 int fa[maxn],n,m,cnt=0; 10 11 struct ss 12 { 13 int x; 14 int y; 15 }e[maxn]; 16 17 struct node 18 { 19 int u; 20 int v; 21 int w; 22 }s[maxn*maxn]; 23 24 int find(int x) 25 { 26 if (fa[x]==x) return x; 27 fa[x]=find(fa[x]); 28 return fa[x]; 29 } 30 31 bool cmp(node a,node b) 32 { 33 return a.w<b.w; 34 } 35 36 int main() 37 { 38 scanf("%d%d",&n,&m); 39 for (int i=1;i<=n;i++) 40 scanf("%d%d",&e[i].x,&e[i].y); 41 for (int i=1;i<=n;i++) 42 for (int j=i+1;j<=n;j++) 43 { 44 cnt=cnt+1; 45 s[cnt].u=i; 46 s[cnt].v=j; 47 s[cnt].w=(e[j].x-e[i].x)*(e[j].x-e[i].x)+(e[j].y-e[i].y)*(e[j].y-e[i].y); 48 } 49 sort(s+1,s+cnt+1,cmp); 50 int k=n; 51 for (int i=1;i<=n;i++) fa[i]=i; 52 for (int i=1;i<=cnt;i++) 53 { 54 int fa1=find(s[i].u),fa2=find(s[i].v); 55 if (fa1!=fa2) k--; 56 fa[fa1]=fa2; 57 if (k<m) {printf("%0.2lf\n",sqrt(s[i].w));return 0;} 58 } 59 }
转载于:https://www.cnblogs.com/grhyxzc/p/5204466.html
C++之路进阶——bzoj1821(部落划分)相关推荐
- BZOJ 1821: [JSOI2010]Group 部落划分 Group【MST】
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MB Description 聪聪研究发现,荒岛野人总是过着群 ...
- bzoj 1821: [JSOI2010]Group 部落划分
1821: [JSOI2010]Group 部落划分 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 2484 Solved: 1165 [Submi ...
- 【c++图论】【口袋的天空】【部落划分】
目标: 今天的两道题做法和思路有相同之处,合并在一起学习可以帮助更快的掌握图论中克鲁斯卡尔算法的要点和据具体实现步骤,下面来看看题目: 第一题[口袋的天空] 题目如下 题目背景 小杉坐在教室里,透过口 ...
- 音视频开发成长之路—进阶之路3个重要知识点丨WebRTC丨FFmpeg丨SRS流媒体服务器丨C++音视频丨嵌入式音视频
音视频开发成长之路-进阶之路3个重要知识点 视频讲解如下,点击观看: 音视频开发成长之路-进阶之路3个重要知识点丨WebRTC丨FFmpeg丨SRS流媒体服务器丨C++音视频丨嵌入式音视频 音视频高级 ...
- Acwing 2382. 部落划分
题目描述: 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗. 只是,这一切都成为谜团了- ...
- BZOJ1821 [JSOI2010]Group 部落划分 Group Kruskal
欢迎访问~原文出处--博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1821 题意概括 平面上有n个点,现在把他们划分成k个部分,求不同部分之间最近距离的最大值. 两个部 ...
- Java成神之路-进阶步骤(转)
https://www.hollischuang.com/archives/3280 一.基础篇 面向对象 什么是面向对象 面向对象.面向过程 面向对象的三大基本特征和五大基本原则 平台无关性 Jav ...
- bzoj 1821 部落划分
评测:http://www.lydsy.com/JudgeOnline/problem.php?id=1821 分析一下题目: 因为最后答案是距离最近的部落的距离最远,即尽量把短的边合并进部落中. 一 ...
- BZOJ 1821 [JSOI2010] Group 部落划分 Group
最小生成森林? 个人感觉跟最小生成树差不多.需要分成k个联通块,让联通块之间距离最大就让联通块内距离尽可能小.一颗最小生成树是N-1条边,分成k个块需要切k-1条,就是一个n-k条边的最小生成森林,然 ...
最新文章
- “中药资源创新院士团队”诚聘结构、合成和计算生物学博士后5-10名
- 【活动报名 | 青源Talk第3期】DenseNet发明者黄高:面向边缘设备的轻量神经网络...
- 物联网平台 源码_国内首个智慧交通物联网平台发布
- MyBatis Generator分页插件RowBoundsPlugin坑
- 解决:无法获取实体类com.xxx.xx.xx.xx.dto.XxxDTO对应的表名
- CSDN 博客 美化 个性化
- 利用marked.js写个简单Markdown编辑器(1)
- testng_TestNG超时示例
- 转载【C++】int转换为string的两种方法(to_string、字符串流)
- Windows下本地或局域网下搭建SVN服务器
- oracle取较小数,oracle 取小数位数
- 基于Android系统的智能社区平台系统APP设计与实现(含论文)
- 好家伙,公司服务器直接热崩掉了!
- OpenHarmony成长计划学生挑战赛7天打卡活动介绍
- mysql 事物隔离界别_MySQL锁与事务隔离级别
- 计算机科学主题 一亩三分地 考试 中心 满分95大米 (只适用于2019年 之后注册的新人) 答案
- 手机号码合法性 java_Java正则表达式——验证手机号码符合性
- 【PWN系列】格式化字符串在bss段上的处理
- 【C语言进阶】从入门到入土(数据的存储)
- php rsa公钥加密,PHP RSA加密
热门文章
- 【MySQL】Navicat连接mysql出现1862错误
- 【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn
- win10桌面任务栏透明
- 【学习日记】初次使用golang记录
- 华为WATCH GT Runner手表全天健康管理,新护航
- 【鸿蒙】数据管理--关系型数据库
- linux磁盘格式有哪几种,硬盘的格式都有哪些?哪一种比较好都有什么区别?
- 《美国语文2》Lesson 1 Evening at Home
- 江小白包装设计原型_从“江小白”酒谈品牌外包装设计欣赏趋势
- UAV-Altizure使用教程