Arctic Network
poj2349:http://poj.org/problem?id=2349
题意:有卫星电台的城市之间可以任意联络。没有卫星电台的城市只能和距离小于等于D的城市联络。告诉你卫星电台的个数S,让你求最小的D.
题解: 生成最小生成树,去掉最长的S条边后,剩下最长的边就是D.也就是求最小生成树中第S+1长的边。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define INF 100000000.0
using namespace std;
int cas,x,y,top;
int n,s;
double lowcost[],ans[],g[][];
struct Node{
int x;
int y;
}node[];
double juli(Node a,Node b ){
return sqrt(((double)a.x-b.x)*(a.x-b.x)+((double)a.y-b.y)*(a.y-b.y));
}
void prim(int v0){
top=;
for(int i=;i<=n;i++){
lowcost[i]=g[v0][i];
}
lowcost[v0]=-;
for(int i=;i<n;i++){
double min=INF;
int v=-;
for(int j=;j<=n;j++){
if(lowcost[j]!=-&&lowcost[j]<min){
min=lowcost[j];
v=j;
}
}
if(v!=-){
ans[top++]=lowcost[v];
lowcost[v]=-;
for(int k=;k<=n;k++){
if(lowcost[k]!=-&&g[v][k]<lowcost[k]){
lowcost[k]=g[v][k];
}
}
}
}
}
void solve(){
sort(ans,ans+top);
printf("%.2f\n",ans[top-s]);
}
int main(){
scanf("%d",&cas);
while(cas--){
scanf("%d%d",&s,&n);
for(int i=;i<=n;i++){
scanf("%d %d",&node[i].x,&node[i].y);
}
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++){
g[i][j]=g[j][i]=juli(node[i],node[j]);
// printf("%.2f\n",g[i][j]);
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
if(i==j)g[i][j]=;
else if(g[i][j]==)g[i][j]=INF;
}
prim();
solve();
}
}
Arctic Network的更多相关文章
- [poj2349]Arctic Network(最小生成树+贪心)
		Arctic Network Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17758 Accepted: 5646 D ... 
- Poj 2349 Arctic Network                                                    分类:            Brush Mode             2014-07-20 09:31    93人阅读    评论(0)    收藏
		Arctic Network Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9557 Accepted: 3187 De ... 
- POJ 2349 Arctic Network (最小生成树)
		Arctic Network Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Subm ... 
- POJ 2349  Arctic Network (最小生成树)
		Arctic Network 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/F Description The Departme ... 
- poj 2349  Arctic Network
		http://poj.org/problem?id=2349 Arctic Network Time Limit: 2000MS Memory Limit: 65536K Total Submis ... 
- POJ2349 Arctic Network                                                                                            2017-04-13 20:44             40人阅读              评论(0)              收藏
		Arctic Network Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19113 Accepted: 6023 D ... 
- POJ2349:Arctic Network(二分+最小生成树)
		Arctic Network Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 28311 Accepted: 8570 题 ... 
- POJ2349 Arctic Network(Prim)
		Arctic Network Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16968 Accepted: 5412 D ... 
- POJ - 2349 ZOJ - 1914 Arctic Network 贪心+Kru
		Arctic Network The Department of National Defence (DND) wishes to connect several northern outposts ... 
- G - Arctic Network
		G - Arctic Network #include<cmath> #include<cstdio> #include<cstring> #include&l ... 
随机推荐
- Android如何在Framework层使用解锁代码
			import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import com.andr ... 
- 很好用的Tab标签切换功能,延迟Tab切换。
			一个网页,Tab标签的切换是常见的功能,但我发现很少有前端工程师在做该功能的时候,会为用户多想想,如果你觉得鼠标hover到标签上,然后切换到相应的内容,就那么简单的话,你将是一个不合格的前端工程师啊 ... 
- java 基本类型和包装类的比较
			public class BoxingTest { @Test public void test1(){ String a = new String("1"); String b ... 
- 国内流行的两大开源.net微信公众平台SDK对比分析
			最近忙于微信周边的开发 难免手痒去搜索一下有没有相关的sdk直接拿来使 还真发现了不少 这里总结两个看起来比较不错的.net平台下基于C#语言开发的SDK 一个强大一个小巧 (1) Senparc.W ... 
- (转)HTML表格边框的设置小技巧
			对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 对于很多初学HTML的人来说,表格<table>是最常用的标签了 ... 
- C#快速排序法
			最近面试的时候,被问到了快速排序法.一时之间,无法想起算法来. 重新看了书本,算法如下: 1)设置两个变量I.J,排序开始的时候:I=0,J=N-1: 2)以第一个数组元素作为关键数据,赋值给key, ... 
- You must not call setTag() on a view Glide is targeting
			概述 在使用Glide加载图片时,如果出现"You must not call setTag() on a view Glide is targeting"的错误,八成是在使用Li ... 
- javascript google map circle radius_changed ,angularjs google map circle radius_changed
			javascript: var cityCircle = new google.maps.Circle({ strokeColor: '#FF0000', strokeOpacity: 0.8, st ... 
- Uploadify 笔记分享    --  2014年10月18日
			最近要做一个项目,有个部分需要用到Uploadify,以前用过,但不是很懂,找了无数遍的中文文档,发现好多都是以前的,都不能用,一时间索性自己写了个笔记,随用随查 <form> <i ... 
- javascript基础学习(四)
			javascript之流程控制语句 学习要点: 表达式语句含义 选择语句:if.if...else.switch 循环语句:while.do...while.for.for...in 跳转语句:bre ... 
