洛谷P2504 [HAOI2006]聪明的猴子
#include<bits/stdc++.h>
using namespace std;
const int maxn=;
const int maxm=;
int n,m,k,ans;
double Max;
int monkey[maxn];
typedef pair<int,int> P;
P point[maxn];
#define Dis(x,y) (sqrt((x.first-y.first)*(x.first-y.first)+(x.second-y.second)*(x.second-y.second)))
struct node{
int cnt,fa;
}f[maxn];
int find(int x){return f[x].fa==x?x:f[x].fa=find(f[x].fa);}
void Union(int x,int y)
{
x=find(x),y=find(y);if(x==y) return;
if(f[x].cnt<=f[y].cnt) {f[x].fa=y;f[y].cnt+=f[x].cnt;}
else {f[y].fa=x;f[x].cnt+=f[y].cnt;}
}
struct edge{
int x,y;double dis;
}E[maxm];
inline bool cmp(const edge &a,const edge &b) {return a.dis<b.dis;}
int main()
{
scanf("%d",&k);
for(int i=;i<=k;i++) scanf("%d",&monkey[i]);
sort(monkey+,monkey++k);
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d%d",&point[i].first,&point[i].second);
for(int i=;i<=n;i++)
for(int j=;j<=i;j++)
{
if(i==j) continue;
E[++m].x=i;E[m].y=j;E[m].dis=Dis(point[i],point[j]);
}
for(int i=;i<=n;i++) f[i].fa=i,f[i].cnt=;
sort(E+,E++m,cmp);
for(int i=;i<=m;i++)
{
if(f[find()].cnt==n) break;
if(find(E[i].x)!=find(E[i].y)) Union(E[i].x,E[i].y),Max=max(Max,E[i].dis);
}
for(int i=;i<=k;i++) if(monkey[i]>=Max) ++ans;
printf("%d",ans);
return ;
}
洛谷P2504 [HAOI2006]聪明的猴子的更多相关文章
- 洛谷 P2504 [HAOI2006]聪明的猴子
洛谷 P2504 [HAOI2006]聪明的猴子 题目描述 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水 ...
- 洛谷—— P2504 [HAOI2006]聪明的猴子
P2504 [HAOI2006]聪明的猴子 题目描述 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上. ...
- 洛谷——P2504 [HAOI2006]聪明的猴子
P2504 [HAOI2006]聪明的猴子 题目描述 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上. ...
- 洛谷P2504 [HAOI2006]聪明的猴子题解
题目 记录悲伤 已知猴子的数量以及猴子跳的最大距离 已知数的数量以及树的坐标 最小生成树 每两棵树之间的距离需要枚举来计算 算出最大值之后再与n只猴子进行比较记录答案 需要注意 在使用最小生成树的时候 ...
- 【洛谷P2504】聪明的猴子 最小瓶颈树
题目大意:给定一张 N 个顶点的完全图,边有边权,求该完全图的一棵最小瓶颈树. 最小瓶颈树:一棵最大边权值在同一张图的所有生成树中最小,即:最大边权值最小的生成树,其值为该树的最大边权的权值. 引理1 ...
- P2504 [HAOI2006]聪明的猴子
思路 最小生成树中最大的边,边权最小 所以这题就变成最小生成树的板子了,跳跃距离大于最大边权的猴子就是可行的 代码 #include <cstdio> #include <algor ...
- BZOJ2429[HAOI2006]聪明的猴子[最小生成树 kruskal]
2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 896 Solved: 575[Submit][Statu ...
- 最小生成树 2429: [HAOI2006]聪明的猴子
BZOJ 2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 877 Solved: 566[Submit][ ...
- 最小生成树——[HAOI2006]聪明的猴子
题目:[HAOI2006]聪明的猴子 描述: [题目描述] 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着, 猴子不会游泳,但跳 ...
随机推荐
- codeforces 545E E. Paths and Trees(单源最短路+总权重最小)
E. Paths and Trees time limit per test:3 seconds memory limit per test:256 megabytes input:standard ...
- 在 IE 选项那提示 ”某些设置由系统管理员进行管理” 解决
运行 regedit 打开注册表 修改注册表值HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Interne ...
- angular4 自定义表单组件
自定义表单组件分为单值组件和多值组件. 单值组件:input/select/radio/textarea 多值组件:checkbox/tree组件 条件: 1.必须实现ControlValueAcce ...
- 洛谷P1006 NOIP提高组2008 传纸条
P1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无 ...
- jquery tooltip.js
1.引用关联的js脚本 <script type="text/javascript" src="script/jquery-1.3.2.min.js"&g ...
- 【python之路18】内置函数,补充请看【python之路46】
1.abs(number)表示某个数字的绝对值 print(abs(-123)) #打印出123 2.all(iterable) 表示可迭代的参数全部为True那么返回True,否则返回False r ...
- 使用pip安装pymysql
本人使用的python版本是3.6,该版本是自带有pip.可以直接通过pip工具进行安装pymysql: 第一步:找到pip.exe路径. 例如我安装的目录如下,自带的pip工具的python版本,在 ...
- 【《Objective-C基础教程 》笔记】(八)OC的基本事实和OC杂七杂八的疑问
一.疑问 1.成员变量.实例变量.局部变量的差别和联系,在訪问.继承上怎样表现. 2.属性@property 和 {变量列表} 是否同样.有什么不同. 3.类方法.类成员.类属性:实例方法.实例变量. ...
- ie8或9下ajax跨域问题
ie8或9下ajax跨域支持,添加如下代码 <!--[if (IE 8)|(IE 9)]><script src="https://cdn.bootcss.com/jque ...
- linux通常使用的 rc 和 .(点)文件
文件名 描述 ~/.bash_login 请参考“man bash”.如果 ~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处 ...