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] 聪明的猴子相关推荐

  1. BZOJ 2429: [HAOI2006]聪明的猴子【最小生成树】

    2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec Memory Limit: 128 MB Description 在一个热带雨林中生存着一群猴子,它们以树上的果子为生 ...

  2. bzoj 2429: [HAOI2006]聪明的猴子(最小生成树)

    2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1570  Solved: 902 [Submit][St ...

  3. P2504 [HAOI2006]聪明的猴子 题解

    P2504 [HAOI2006]聪明的猴子 题解 题目 链接 字面描述 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 思路 代码实现 题目 链接 https://ww ...

  4. 洛谷p2504 HAOI2006 聪明的猴子

    [题目描述] 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着, 猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的部分植物 ...

  5. bzoj 2152 聪明可可

    Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)--遇到这种问题,一般情况下石头剪刀布就好 ...

  6. [BZOJ2429][HAOI2006]聪明的猴子(最小生成树)

    性质:最小生成树上任意两点间的最大边权,一定是这两点间所有路径的最大边权中最小的.证明显然. 1 #include<cstdio> 2 #include<cstring> 3 ...

  7. BZOJ刷题记录---提高组难度

    BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...

  8. 有多少游客被峨眉山的猴子亲过脸?

    来源|不相及研究所 ID|buuuxiangji 作者|发财金刚 不少游客都是去过峨眉山之后,才发现网上的传言是真的,那里的灵猴比山顶的普贤能更快还愿. 单身的去祈求姻缘,还没等下山,初吻就没了. 即 ...

  9. python猴子分桃问题_用python实现【五猴分桃】问题

    转载链接:https://blog.csdn.net/cy309173854/article/details/78296839 据说"五猴分桃"问题最先是由大物理学家狄拉克提出来的 ...

  10. 用ChatGPT讲一个关于猴子的故事

    今天让ChatGPT编了一个小猴子的故事,效果还不错. 首先设置目标: Goal 1: 讲一个关于猴子的故事 Goal 2: 童话故事 Goal 3: 寓言 Goal 4: 讲给小朋友听的 Goal ...

最新文章

  1. 2021年大数据Spark(五十三):Structured Streaming Deduplication
  2. R堆叠柱状图各成分连线画法:突出展示组间物种丰度变化
  3. NLP——基于transformer 的翻译系统
  4. 【绝对干货】北京三年java开发多少工资
  5. Graph Neural Networks: A Review of Methods and Applications(Semantic Segmentation应用解读)
  6. 科大星云诗社动态20210905
  7. Pytorch中DataLoader类
  8. 山东自考c语言程序设计停考了吗,山东省自考教育类停考专业遗留问题的通知...
  9. mybatis collection标签_MyBatis第二天(结果映射+动态sql+关联查询)
  10. 使用ASP.NET WEB API构建基于REST风格的服务实战系列教程(一)——使用EF6构建数据库及模型...
  11. 用于空间搜索的四叉树
  12. 华为狼性文化遭质疑,那我们当个佛系程序员可好?
  13. Egret引擎学习笔记
  14. Linux日文教程,在Deepin/Ubuntu下安装fcitx-Anthy以输入日语(日文)
  15. 数据库:sql 递归
  16. Isito - Rate Limits(请求限速)
  17. CSDN写博客修改图片大小、图片居中、去掉图片水印等方法
  18. Java虚拟机这一块 —— 深入理解java虚拟机(jvm)
  19. 微软word如何插入页码_如何在Microsoft Word中使用页码
  20. 秦西盟乘着“互联网+管道”的东风,做天下的生意

热门文章

  1. 关于用ADS设计PA中电容的选择
  2. 嵌入式通过序列号加密总结及flash…
  3. 平时杂技,串口摄像头+portmon.exe
  4. redis进阶之bigkey和hotkey
  5. C语言求乘方、幂数、取余
  6. 双ip的oracle集群该怎么连接,如何配置电信联通双线双IP接入
  7. 小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub
  8. windows10系统平移到新的硬盘(修复引导区)
  9. 三十岁以后,我一定能阔起来!
  10. 32位 shell.efi x86_EFI Shell 命令参考