bzoj2429: [HAOI2006]聪明的猴子(最小生成树)
bzoj题目链接
luogu题目连接
超级大水题,只比模板多了一个坐标操作!!!
题目大意:
1、坐标上有n个点,求最小生成树的边权最大值maxx。
2、求m只猴子,跳跃距离大于maxx的个数。
解题思路:
1、坐标上求距离,记得用double
2、跑最小生成树,然后逐一比较。
上代码:
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int mx=2005;int m,n,maxx=0,len=0,f[mx];
double bj[mx];
struct nodb{int x,y;double c;}b[mx],e[mx*1000];
struct nodz{double x,y; }z[mx];
bool cmp(nodb x,nodb y) { return x.c<y.c; }
int ch(int x) { if(x==f[x]) return x; return f[x]=ch(f[x]); }
void ins(int x,int y)
{double t=sqrt((z[x].x-z[y].x)*(z[x].x-z[y].x)+(z[x].y-z[y].y)*(z[x].y-z[y].y));len++;e[len].x=x;e[len].y=y;e[len].c=t;
}
void kis()
{int kk=0;for(int i=1;i<=n;i++) f[i]=i;sort(e+1,e+1+len,cmp);for(int i=1;i<=len;i++){int xx=ch(e[i].x);int yy=ch(e[i].y);if(xx!=yy) {f[xx]=yy;if(maxx<e[i].c) maxx=e[i].c;kk++;if(kk==n-1) break;}}
}
int main()
{scanf("%d",&m);for(int i=1;i<=m;i++) scanf("%lf",&bj[i]);scanf("%d",&n); int x,y;for(int i=1;i<=n;i++){scanf("%lf %lf",&z[i].x,&z[i].y);}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i!=j){ins(i,j);}}}kis();int ans=0;for(int i=1;i<=m;i++) if(bj[i]>=maxx) ans++;printf("%d\n",ans);return 0;
}
bzoj2429: [HAOI2006]聪明的猴子(最小生成树)相关推荐
- [BZOJ2429][HAOI2006]聪明的猴子(最小生成树)
性质:最小生成树上任意两点间的最大边权,一定是这两点间所有路径的最大边权中最小的.证明显然. 1 #include<cstdio> 2 #include<cstring> 3 ...
- 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 聪明的猴子
[题目描述] 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着, 猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的部分植物 ...
- [HAOI2006]旅行comf(枚举+最小生成树)
题意:传送门 题解:枚举+最小生成树 附上代码: #include<bits/stdc++.h>using namespace std;const int maxn=5e2+5; cons ...
- BZOJ 1050 [HAOI2006]旅行comf(最小生成树)
题意 第一行包含两个正整数,N和M.下来的M行每行包含三个正整数:x,y和v.表示景点x到景点y之间有一条双向公路 ,车辆必须以速度v在该公路上行驶.最后一行包含两个正整数s,t,表示想知道从景点s到 ...
- 2019.4.summary
2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...
- [颓废史]蒟蒻的刷题记录
QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...
- 最小生成树 解释 + 板子题
学习链接:https://oi-wiki.org/graph/concept/ 带有步骤:最小生成树 - 哎呦哎(iui) - 博客园 概念: 边权和最小的生成树 (v:点 g:边 | 只有连通 ...
最新文章
- 数据结构中几种经典排序简介
- R语言构建生存分析(survival analysis)模型示例
- AI独角兽第四范式冲刺港交所IPO!集齐国有五大行入股,刚获宁德时代制造大单...
- python读取txt文件-python txt文件的写入和读取
- linux下使用gdb调试崩溃和死锁实例
- surfire 单元测试 使用了mock字节码再生和注入, UseSplitVerifier防止字节码校验
- mfc编程消息机制中消息汇总
- P2336-[SCOI2012]喵星球上的点名【SA,树状数组】
- php 获取实例的类名,PHP类名获取方式及单例模式实现
- C 和 C++字符串详解
- mycat两个mysql实例的搭建_Mycat-多实例的搭建
- MATLAB学习笔记(十)
- 转Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- 关于Python切片的问题,从左向右提取元素与从右向左提取元素
- allennlp使用
- win7新建ios开发环境
- 分数阶微分_分数微分特征
- bzoj 3197: [Sdoi2013]assassin 树哈希+树形dp+费用流
- 【PHP学习】Yii2框架Gii模块使用
- 转载 :高中时候想的一个脑洞大开的故事
热门文章
- windows xp apache php mysql_WindowsXP下安装和配置Apache2.2.22服务器+PHP5+Mysql5 wu金
- openerp QWeb
- Java微信开发入门第一节(PC端、移动端、微信端区别)
- 线性代数中解方程组的加减消元和求特征向量的加减消元的区别
- 重庆理工大学计算机考研分数,重庆理工大学历年考研分数线汇总[2012-2021]
- 【算法应用】Thompson Sampling--汤普森采样应用之代码篇 (Python)
- html的nofollow标签,nofollow标签两种使用方法及案例
- Springboot毕设项目M11463家居网9m26y(java+VUE+Mybatis+Maven+Mysql)
- 我设计的五笔日本语输入法和韩语输入法初稿图
- 用Python计算北京地铁的两站间最短换乘路线