首页 > 其他分享 >P4047 [JSOI2010]部落划分

P4047 [JSOI2010]部落划分

时间:2023-03-12 18:15:48浏览次数:28  
标签:JSOI2010 部落 int double P4047 include my mx

地图上标注了 n 个野人居住的地点(可以看作是平面上的坐标)。

我们知道,同一个部落的野人总是生活在附近。我们把两个部落的距离,定义为部落中距离最近的那两个居住点的距离。

聪聪知道这些野人总共被分为了 K个部落。

对于任意一种部落划分的方法,都能够求出两个部落之间的距离,求一种部落划分的方法,使最近的两个部落尽可能远。

 

二分这个最近的距离, 看能否组成K个部落

 

#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iomanip>
using namespace std ;
  const double E=1e-4;
  const int N=2e4;
 double x[N],y[N];
 int n,m,fa[N];
 double dist(int i,int j){
 	return 
 	(x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]);
 }
 int find(int x){
 	return x==fa[x]?x:fa[x]=find(fa[x]); 
 }
 void cmb(int x,int y){
 	fa[find(x)]=find(y);
 }
 int chk(double md){
 	int i,j,ct=0;
 	for(i=1;i<=n;i++) fa[i]=i;
 	
 	for(i=1;i<=n;i++)
 	 for(j=1;j<=n;j++){
 	 	 if(dist(i,j)<=md) cmb(i,j);
	  }
	for(i=1;i<=n;i++) if(i==find(i)) ct++;
	return ct>=m;
 }
 signed main(){
 	int i;
 	double l=0.0,r=1e6, mx,my;
 	cin>>n>>m;
 	for(i=1;i<=n;i++) 
 		cin>>x[i]>>y[i],
 		mx=mx>x[i]?mx:x[i];
        my=my>y[i]?my:y[i];;
 	
	r=mx*mx+my*my;
 	while(r-l>E){
 		double md=(l+r)/2;
 		if(chk(md)) l=md; else r=md;
	 }
	printf("%.2lf",sqrt(l));
 }

 
 
 
 

 

标签:JSOI2010,部落,int,double,P4047,include,my,mx
From: https://www.cnblogs.com/towboa/p/17208640.html

相关文章

  • P4048 [JSOI2010]冷冻波 题解
    首先很好想到我们应该预处理出来每一个巫妖王能攻击到的精灵。那么这就是一个几何题。对于每一组精灵与巫妖王,设巫妖王坐标为\((x_1,y_1)\),精灵坐标为\((x_2,y_2)\)。......
  • P7221 [JSOI2010] 蔬菜庆典 题解
    本题解在求无解的情况下优化了下。通过分析样例,我们可以发现如果一个节点有多个Dlihc,那么这些Dlihc对应的权值必须一样,否则可以无限延伸下去。因为一号节点没有Tnera......
  • [JSOI2010]旅行
    链接:https://www.luogu.com.cn/problem/P6029题目描述:给定一个$n$个$m$条边的无向图,可以交换$k$组边,求$1$到$n$的最短路。题解:发现值域都比较小,考虑$dp$。我们可以......
  • 【大数据部落】R语言代写电信公司churn数据客户流失 k近邻(knn)模型预测分析
    电信公司churn数据客户流失k近邻(knn)模型预测分析 DatabackgroundAtelephonecompanyisinterestedindeterminingwhichcustomercharacter......
  • P4047 [JSOI2010]部落划分 题解
    最小生成树做法之Kruskal算法流程(详细分析请看代码注释):1.初始化并查集并查集模板不过多解释,还不懂请参阅并查集-OIWiki。每个节点的祖先最开始都是自己。还有......
  • 【大数据部落】R语言代写GAM(广义相加模型)对物业耗电量进行预测
     人们对于电力的需求与依赖随着生活水平的提高而不断加深,用电负荷预测工作开始变得越来越重要,如果可以发现用电负荷的规律性,我们就可以合理安排用电负荷。我们使用某商业物......
  • P4048 [JSOI2010]冷冻波
    人生第一道紫题!debug巨久,码量巨大题目题目描述WJJ喜欢“魔兽争霸”这个游戏。在游戏中,巫妖是一种强大的英雄,它的技能FrozenNova每次可以杀死一个小精灵。我们认为,巫妖......
  • [JSOI2010]连通数
    传送地址:https://www.luogu.com.cn/problem/P4306题目描述度量一个有向图连通情况的一个指标是连通数,指图中可达顶点对个的个数。如图顶点 11 可达 1,2,3,4,51......
  • Luogu P4171 [JSOI2010]满汉全席
    题目链接:​​传送门​​2-sat板子题注意输入的时候可不要以为w和h后面数字只有一位*/#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#includ......
  • P2467 地精部落 P2885 [USACO07NOV]Telephone Wire G
    P2467SDOI2010地精部落称满足条件的序列为"波动序列"性质1:如果一个波动序列中i和i+1不相邻,则交换这两个数后仍然是波动序列性质2:将一个波动序列反转,翻转后......