UvaOJ10369 - Arctic Network

 1 /*
 2     The first line of each test case contains 1 <= S <= 100, the number of satellite channels!
 3     注意:S表示一共有多少个卫星,那么就是有 最多有S-1个通道! 然后将最小生成树中的后边的 S-1通道去掉就行了! 
 4     思路:最小生成树中的第 k 个最小边! 
 5 */
 6 //克鲁斯克尔算法.....
 7 #include<iostream>
 8 #include<cstdio>
 9 #include<cstring>
10 #include<algorithm>
11 #include<cmath>
12 using namespace std;
13 
14 double x[800], y[800];
15 
16 struct node{
17    int u, v; 
18    double d;
19 };
20 
21 bool cmp(node a, node b){
22     return a.d < b.d;
23 }
24 
25 int f[505];
26 
27 node nd[150000];
28 double ret[505];
29 
30 int getFather(int x){
31    return x==f[x] ? x : f[x]=getFather(f[x]);
32 }
33 
34 bool Union(int a, int b){
35    int fa=getFather(a), fb=getFather(b);
36    if(fa!=fb){
37        f[fa]=fb;
38        return true;
39    }
40    return false;
41 }
42 
43 int main(){
44    int n, m;
45    int t;
46    scanf("%d", &t);
47    while(t--){
48           scanf("%d%d", &m, &n);
49        for(int i=1; i<=n; ++i){
50           scanf("%lf%lf", &x[i], &y[i]);
51           f[i]=i;
52        }
53        int cnt=0;
54        for(int i=1; i<n; ++i)
55           for(int j=i+1; j<=n; ++j){
56               nd[cnt].u=i;
57               nd[cnt].v=j;
58               nd[cnt++].d=sqrt( (x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j]));
59           }
60        sort(nd, nd+cnt, cmp);
61        int cc=0;
62        for(int i=0; i<cnt; ++i)
63           if(Union(nd[i].u, nd[i].v))
64              ret[cc++]=nd[i].d;
65         for(int i=0; i<cc; ++i)
66            cout<<ret[i]<<"fdsf"<<endl;
67        printf("%.2lf\n", ret[n-m-1]);
68    }
69    return 0;
70 }   

 1 //prim算法.......
 2 #include<iostream>
 3 #include<cstdio>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<cmath>
 7 using namespace std;
 8 const double INF = 0x3f3f3f3f*1.0;
 9 double x[800], y[800];
10 
11 int n, m;
12 double map[505][505];
13 int vis[505];
14 
15 double ret[505];
16 
17 void prim(){
18     memset(vis, 0, sizeof(vis));
19     vis[1]=1;
20     for(int i=2; i<=n; ++i)
21        ret[i]=INF;
22     int root=1, p;
23     for(int i=1; i<n; ++i){
24         double minLen=INF; 
25         for(int j=2; j<=n; ++j){
26            if(!vis[j] && ret[j]>map[root][j])
27               ret[j]=map[root][j];
28            if(!vis[j] && minLen>ret[j]){
29               minLen=ret[j];
30               p=j; 
31            }
32         }
33         root=p;
34         vis[root]=1;
35     }
36 }
37 
38 int main(){
39    
40    int t;
41    scanf("%d", &t);
42    while(t--){
43           scanf("%d%d", &m, &n);
44        for(int i=1; i<=n; ++i)
45           scanf("%lf%lf", &x[i], &y[i]);
46        for(int i=1; i<n; ++i)
47           for(int j=i+1; j<=n; ++j)
48              map[i][j]=map[j][i]=sqrt( (x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j]));
49 
50        prim();
51        sort(ret, ret+n+1);
52        
53        printf("%.2lf\n", ret[n-m+1]);
54    }
55    return 0;
56 }

 

 

转载于:https://www.cnblogs.com/hujunzheng/p/3899428.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获取list泛型_泛型

泛型什么是泛型&#xff1f;为什么使用泛型&#xff1f;泛型的出现意味着编写的代码可以被不同类型的对象所重用&#xff0c;提升了代码的重用性。泛型的本质是参数化类型&#xff0c;即将所需操作的数据类型设置为一个参数。 举个实际中的栗子&#xff1a;我们需要设计一个柜子…

w10计算机字体怎么设置在哪里设置,如何设置修改win10系统电脑的显示字体

如何设置修改win10系统电脑的显示字体腾讯视频/爱奇艺/优酷/外卖 充值4折起今天给大家介绍一下如何设置修改win10系统电脑的显示字体的具体操作步骤。1. 首先鼠标左键开始&#xff0c;然后在菜单下的左下角选择设置图标。2. 进入Windows 设置后&#xff0c;单击个性化。3. 接着…

uva 10801 - Lift Hopping(最短路Dijkstra)

1 /*2 题目大意&#xff1a;3 就是一幢大厦中有0&#xff5e;99的楼层, 然后有1&#xff5e;5个电梯&#xff01;每个电梯有一定的上升或下降速度和楼层的停止的位置&#xff01;4 问从第0层楼到第k层最少经过多长时间到达&#xff01;5 6 思路&#x…

powerdesigner mysql 自增主键_PowerDesigner Mysql 主键自增、初始值、字符集

自增在你所要设为自增型的键上(比如你的id)双击&#xff0c;弹出一个Column Properties对话框&#xff0c;右下角有一个Identify的选择框&#xff0c;选中它OK&#xff0c;就可以了。 再去查看Preview&#xff0c;就能看到AUTO_INCREMENT。起始值默认自增字段从1开始, 如果需要…

计算机设置从u盘启动怎么办,电脑设置从u盘启动盘启动出现蓝屏该怎么解决?

电脑设置从u盘启动蓝屏怎么办?我们在电脑遇到系统等问题时&#xff0c;经常会选择使用u盘重装系统&#xff0c;这种重装方式可以说是目前最便捷实用的了。但是最近又有用户反映将U盘设置为第一启动项后&#xff0c;电脑没办法从u盘启动&#xff0c;出现了蓝屏的情况&#xff0…

NYOJ 99单词拼接(有向图的欧拉(回)路)

1 /*2 NYOJ 99单词拼接:3 思路&#xff1a;欧拉回路或者欧拉路的搜索&#xff01;4 注意&#xff1a;是有向图的&#xff01;不要当成无向图&#xff0c;否则在在搜索之前的判断中因为判断有无导致不必要的搜索&#xff0c;以致TLE!5 有向图的欧拉路&#xff1a;ab…

mysql 过程和函数_MySQL:存储过程和函数

变量系统变量变量由系统提供&#xff0c;不是用户自定义的&#xff0c;属于服务器层面全局变量会话变量# 如果是全局级别&#xff0c;则需要加global&#xff0c;如果是会话级别&#xff0c;则需要加session&#xff0c;如果不写&#xff0c;则默认是会话# 查看全局变量SHOW GL…

python修改服务器ip,[python+Bat]读表修改机房IP

[Shell] 纯文本查看 复制代码拷贝一下脚本到.bat文件&#xff0c;双击运行即可&#xff0c;有交互式提示输入新的计算机名 ECHO OFFcolor 0AECHO ----------------------------------------------------------------------------ECHO.ECHO 版权所有 copyright of ECHO.ECHO ~~~…

hdu 1811Rank of Tetris (并查集 + 拓扑排序)

1 /*2 题意&#xff1a;这些信息可能有三种情况&#xff0c;分别是"A > B","A B","A < B"&#xff0c;分别表示A的Rating高于B,等于B,小于B。3 4 现在Lele并不是让你来帮他制作这个高手榜&#xff0c;他只是想知道&#xff0c;根据这…

ambari mysql jar_从零开始安装 Ambari (3) -- 安装 Ambari

1. 安装yum -y install ambari-server2. ambari server 需要一个数据库存储元数据&#xff0c;默认使用的 Postgres 数据库。默认的用户名和密码是&#xff1a; ambari/bigdata 。但是一般情况下&#xff0c;后面还要安装 hive 和 Ranger&#xff0c;也需要一个存元数据的数据库…

服务器2012系统在dos卸载,Windows系统下彻底删除Windows.old 文件夹的方法

系统是直接硬盘安装的&#xff0c;导致c盘产生了旧系统的文件夹Windows.old&#xff0c;占用很大的磁盘空间&#xff0c;删也删不掉&#xff0c;咋办&#xff1f;不要紧&#xff0c;下面大神来教你神操作&#xff01;&#xff01;&#xff01;1、打开“计算机”&#xff0c;选择…

hdu3635 Dragon Balls(带权并查集)

1 /*2 题意&#xff1a;有N个城市&#xff0c; 每一个城市都有一个龙珠&#xff08;编号与城市的编号相同&#xff09;&#xff0c;有两个操作3 T A ,B 将标号为A龙珠所在城市的所有的龙珠移动到B龙珠所在城市中&#xff01; 4 5 思路&#xff1a;并查集 &#xff…

backupexec mysql_MySQL备份可能遇到的坑

MySQL备份工具&#xff0c;支持各种参数选项&#xff0c;使用不同的选项极有可能影响备份处理过程。本文使用我们常规认为合理的备份参数&#xff0c;测试/验证是否存在容易忽视的坑# 常规备份参数# mysqldumpshell> mysqldump --single-transaction --master-data2 -B repl…

win10虚拟机服务器错误怎么解决方法,虚拟机下安装win10系统后出现升级报错故障的解决方法【图文】...

现在的win10还是很挑系统的&#xff0c;兼容性有待进一步增强。有些在虚拟机环境下安装了win10的小伙伴&#xff0c;升级是很可能报以下错误的&#xff0c;升级你的ESX版本吧&#xff0c;5.5以下升级win10基本都是没戏的。VM workstation11以上是明确支持win10。不能升级win10怎…

hdu1962Corporative Network带权回路

1 /*2 有N个企业&#xff0c;每个企业想要实现通信&#xff0c;要用线路来连接&#xff0c;线路的长度为abs(a-b)%1000;3 如果企业a 链接到了企业b 那么b就是the center of the serving!4 然后有两种操作&#xff1a;5 E a &#xff1a; 输出企业a到serving ce…

mysql客户端修改sqlmode_MySQL修改sql_mode

一 ERR 1067引发的血案今天在Navicat中运行sql语句创建数据表出现了错误Err 1067。而这条语句在有些同事的mysql上是正确的&#xff0c;但是在有些人那里就报错。QQ截图20170811143551.png原因竟然是timestamp的默认值不正确。查阅资料得知&#xff0c;mysql5.7版本中有了一个S…

零基础mysql项目实例_MySQL-零基础开发

1.终端下连接mysql服务mysql -uroot -p回车后输入设定的密码即可。进去后每条命令结尾要带分号&#xff1b;退出命令exit单行注释有两种&#xff1a;#  或 --空格。多行注释/*  */2.基本命令集合针对数据库&#xff1a;use sys;  show databases;查看当前操作的数据库&a…

hdu2066一个人的旅行(多源点多汇点的最短路径问题)

&#xff0f;&#xff0a;思路&#xff1a;多源点&#xff0c;多会点的最短路径&#xff01;将最小号&#xff0d;&#xff11;的节点但最源点&#xff0c;将最大号&#xff0b;&#xff11;的点当作汇点&#xff01;将问题转变成从一个源点到一个汇点的最短路径的问题&#xf…

php设置mysql 编码_php怎么设置mysql编码?

在php中&#xff0c;可以使用mysql_query()函数来设置mysql编码&#xff0c;语法“mysql_query(SET NAMES 编码方式);”&#xff1b;mysql_query()函数需要放置在mysql_connect()语句之后。在php中&#xff0c;可以使用mysql_query()函数来设置mysql编码。在PHP连接数据库的时候…

nyoj 925 国王的烦恼(最小生成树)

1 /*2 题意&#xff1a;N个城市中每两个城市有多条路径连接&#xff0c;可是因为路径存在的天数是有限的&#xff01;以为某条路经不存在了3 导致N个城市不能连通了&#xff0c;那么村名们就会抗议&#xff01;问一共会有多少次抗议&#xff01;4 5 思路&#…