性质:最小生成树上任意两点间的最大边权,一定是这两点间所有路径的最大边权中最小的。证明显然。

 #include<cstdio>
#include<cstring>
#include<algorithm>
#define rep(i,l,r) for (int i=(l); i<=(r); i++)
using namespace std; const int N=,M=;
int n,m,tot,ans,mx,k,a[N],fa[N];
struct P{ int x,y; }p[N];
struct E{ int u,v,w; }e[M];
bool operator <(const E &a,const E &b){ return a.w<b.w; }
int sqr(int x){ return x*x; }
int get(int x){ return (fa[x]==x) ? x : fa[x]=get(fa[x]); } int main(){
scanf("%d",&m);
rep(i,,m) scanf("%d",&a[i]);
scanf("%d",&n);
rep(i,,n) scanf("%d%d",&p[i].x,&p[i].y),fa[i]=i;
rep(i,,n-) rep(j,i+,n) e[++tot]=(E){i,j,sqr(p[i].x-p[j].x)+sqr(p[i].y-p[j].y)};
sort(e+,e+tot+);
rep(i,,tot){
int u=e[i].u,v=e[i].v;
if (get(u)==get(v)) continue;
k++; mx=max(mx,e[i].w);
if (k==n-) break;
fa[get(u)]=get(v);
}
rep(i,,m) if (sqr(a[i])>=mx) ans++;
printf("%d\n",ans);
return ;
}

最新文章

  1. Spring MVC MultipartFile实现图片上传
  2. String字符串类课后作业
  3. bg激活后台运行的服务
  4. Java中Runnable和Thread
  5. Magicodes.WeiChat——使用AntiXssAttribute阻止XSS(跨站脚本攻击)攻击
  6. $apply方法的作用
  7. wait(...) notify() notifyAll()
  8. Django环境搭建和项目创建
  9. sublimeText3安装package control和禁止弹出更新下载弹窗
  10. Visual Studio Code中文文档
  11. android插件技术-apkplug于OSGI服务基础-08
  12. Flex入门(三)——微架构之Cairngorm
  13. vue-router自动判断左右翻页转场动画
  14. python 中几种基本的矩阵操作应用
  15. io系列之其他类
  16. SoapUI&#160;访问代理设置
  17. Building an (awesome) API with NancyFX 2.0 + Dapper
  18. jar依赖
  19. Linux抓包工具
  20. UVa 10048 噪音恐惧症(Floyd)

热门文章

  1. 【BZOJ4552】【HEOI2016】排序 [二分答案][线段树]
  2. .NET中的异常和异常处理
  3. Palindromic Squares 回文平方数
  4. 【leetcode 简单】第二十七题 二叉树的最小深度
  5. weblogic 开启注意问题
  6. flask插件系列之SQLAlchemy基础使用
  7. 用Centos7搭建小微企业Samba文件共享服务器【转】
  8. HDU 6198 2017沈阳网络赛 线形递推
  9. 安装 Xamarin for Visual Studio
  10. [SVN技巧]代码提交中遇到的两个问题及其解决方案