[BZOJ 2429] 聪明的猴子
Link:
BZOJ 2429 传送门
Solution:
可将题意转化为求使原图连通的子图中最长边的最小值,
那么立即联想到求最小生成树的Kruscal算法:每次选择最短的边加入答案集合
最小生成树的最长边就是要求的值
正确性是显然的(边权是从小到大选取的),而这也是最小生成树的推论之一:
对于任意一个连通图,图中A点走到B点的所有路径中,最长的边最小值是肯定出现在最小生成树中A到B的路径上
最后计算结果即可
Code:
#include <bits/stdc++.h>using namespace std; typedef pair<int,int> P; #define X first #define Y second const int MAXN=1e3+10; P dat[MAXN]; int n,m,jump[MAXN],f[MAXN],cnt=0,tot=0,mx=0,res=0; struct edge{int x,y,v;}e[MAXN*MAXN];bool cmp(edge a,edge b){return a.v<b.v;} int ufs_find(int x){return (f[x]==x)?x:f[x]=ufs_find(f[x]);}int main() {scanf("%d",&m);for(int i=1;i<=m;i++) scanf("%d",&jump[i]);scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d%d",&dat[i].X,&dat[i].Y),f[i]=i;for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++) //只记录平方值防止精度问题e[++cnt]=edge{i,j,(dat[i].X-dat[j].X)*(dat[i].X-dat[j].X)+(dat[i].Y-dat[j].Y)*(dat[i].Y-dat[j].Y)};sort(e+1,e+cnt+1,cmp);for(int i=1;i<=cnt;i++){int posx=ufs_find(e[i].x),posy=ufs_find(e[i].y);if(posx!=posy){f[posx]=posy;tot++;if(tot==n-1){mx=e[i].v;break;}}}for(int i=1;i<=m;i++)if(jump[i]*jump[i]>=mx) res++;printf("%d",res);return 0; }
转载于:https://www.cnblogs.com/newera/p/9127126.html
[BZOJ 2429] 聪明的猴子相关推荐
- BZOJ 2429: [HAOI2006]聪明的猴子【最小生成树】
2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec Memory Limit: 128 MB Description 在一个热带雨林中生存着一群猴子,它们以树上的果子为生 ...
- bzoj 2429: [HAOI2006]聪明的猴子(最小生成树)
2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1570 Solved: 902 [Submit][St ...
- P2504 [HAOI2006]聪明的猴子 题解
P2504 [HAOI2006]聪明的猴子 题解 题目 链接 字面描述 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 思路 代码实现 题目 链接 https://ww ...
- 洛谷p2504 HAOI2006 聪明的猴子
[题目描述] 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着, 猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的部分植物 ...
- bzoj 2152 聪明可可
Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)--遇到这种问题,一般情况下石头剪刀布就好 ...
- [BZOJ2429][HAOI2006]聪明的猴子(最小生成树)
性质:最小生成树上任意两点间的最大边权,一定是这两点间所有路径的最大边权中最小的.证明显然. 1 #include<cstdio> 2 #include<cstring> 3 ...
- BZOJ刷题记录---提高组难度
BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...
- 有多少游客被峨眉山的猴子亲过脸?
来源|不相及研究所 ID|buuuxiangji 作者|发财金刚 不少游客都是去过峨眉山之后,才发现网上的传言是真的,那里的灵猴比山顶的普贤能更快还愿. 单身的去祈求姻缘,还没等下山,初吻就没了. 即 ...
- python猴子分桃问题_用python实现【五猴分桃】问题
转载链接:https://blog.csdn.net/cy309173854/article/details/78296839 据说"五猴分桃"问题最先是由大物理学家狄拉克提出来的 ...
- 用ChatGPT讲一个关于猴子的故事
今天让ChatGPT编了一个小猴子的故事,效果还不错. 首先设置目标: Goal 1: 讲一个关于猴子的故事 Goal 2: 童话故事 Goal 3: 寓言 Goal 4: 讲给小朋友听的 Goal ...
最新文章
- 2021年大数据Spark(五十三):Structured Streaming Deduplication
- R堆叠柱状图各成分连线画法:突出展示组间物种丰度变化
- NLP——基于transformer 的翻译系统
- 【绝对干货】北京三年java开发多少工资
- Graph Neural Networks: A Review of Methods and Applications(Semantic Segmentation应用解读)
- 科大星云诗社动态20210905
- Pytorch中DataLoader类
- 山东自考c语言程序设计停考了吗,山东省自考教育类停考专业遗留问题的通知...
- mybatis collection标签_MyBatis第二天(结果映射+动态sql+关联查询)
- 使用ASP.NET WEB API构建基于REST风格的服务实战系列教程(一)——使用EF6构建数据库及模型...
- 用于空间搜索的四叉树
- 华为狼性文化遭质疑,那我们当个佛系程序员可好?
- Egret引擎学习笔记
- Linux日文教程,在Deepin/Ubuntu下安装fcitx-Anthy以输入日语(日文)
- 数据库:sql 递归
- Isito - Rate Limits(请求限速)
- CSDN写博客修改图片大小、图片居中、去掉图片水印等方法
- Java虚拟机这一块 —— 深入理解java虚拟机(jvm)
- 微软word如何插入页码_如何在Microsoft Word中使用页码
- 秦西盟乘着“互联网+管道”的东风,做天下的生意