链接:poj 2485

题意:输入n个城镇相互之间的距离,输出将n个城镇连通费用最小的方案中修的最长的路的长度

这个也是最小生成树的题,仅仅只是要求的不是最小价值,而是最小生成树中的最大权值。仅仅须要加个推断

比較最小生成树每条边的大小即可

kruskal算法

#include<cstdio>
#include<algorithm>
using namespace std;
int f[510],n,m;
struct stu
{
int a,b,c;
}t[20100];
int cmp(struct stu x,struct stu y)
{
return x.c<y.c;
}
int find(int x)
{
if(x!=f[x])
f[x]=find(f[x]);
return f[x];
}
int krus()
{
int i,k=0,s=0,x,y;
for(i=1;i<m;i++){
x=find(t[i].a);
y=find(t[i].b);
if(x!=y){
if(t[i].c>s) //比較最小生成树中权值的大小
s=t[i].c;
k++;
if(k==n-1)
break;
f[x]=y;
}
}
return s;
}
int main()
{
int T,i,j,c,s=0;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
m=1;
for(i=1;i<=n;i++){
f[i]=i;
for(j=1;j<=n;j++){
scanf("%d",&c);
if(j<i){
t[m].a=i;
t[m].b=j;
t[m++].c=c;
}
}
}
sort(t+1,t+m,cmp);
s=krus();
printf("%d\n",s);
}
return 0;
}

prim算法

#include<stdio.h>
#include<string.h>
int n,map[505][505],vis[505],low[505];
int prim()
{
int i,j,min,pos,k=-1;
memset(vis,0,sizeof(vis));
pos=1;
vis[pos]=1;
for(i=1;i<=n;i++)
low[i]=map[pos][i];
for(i=1;i<n;i++){
min=99999;
for(j=1;j<=n;j++)
if(!vis[j]&&low[j]<min){
min=low[j];
pos=j;
}
if(min>k)
k=min;
vis[pos]=1;
for(j=1;j<=n;j++)
if(!vis[j]&&map[pos][j]<low[j])
low[j]=map[pos][j];
}
return k;
}
int main()
{
int T,i,j,s;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&map[i][j]);
s=prim();
printf("%d\n",s);
}
return 0;
}

poj 2485 Highways (最小生成树)的更多相关文章

  1. POJ 2485 Highways(最小生成树+ 输出该最小生成树里的最长的边权)

                                                                                                         ...

  2. POJ 2485 Highways 最小生成树 (Kruskal)

    Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...

  3. poj 2485 Highways 最小生成树

    点击打开链接 Highways Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19004   Accepted: 8815 ...

  4. poj 2485 Highways

    题目连接 http://poj.org/problem?id=2485 Highways Description The island nation of Flatopia is perfectly ...

  5. POJ 2485 Highways【最小生成树最大权——简单模板】

    链接: http://poj.org/problem?id=2485 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  6. POJ 2485 Highways( 最小生成树)

    题目链接 Description The islandnation of Flatopia is perfectly flat. Unfortunately, Flatopia has no publ ...

  7. POJ 2485 Highways (求最小生成树中最大的边)

    Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...

  8. POJ 2485 Highways (prim最小生成树)

    对于终于生成的最小生成树中最长边所连接的两点来说 不存在更短的边使得该两点以不论什么方式联通 对于本题来说 最小生成树中的最长边的边长就是使整个图联通的最长边的边长 由此可知仅仅要对给出城市所抽象出的 ...

  9. poj 2485 Highways(最小生成树,基础,最大边权)

    题目 //听说听木看懂之后,数据很水,我看看能不能水过 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stri ...

随机推荐

  1. js-JavaScript实现数字的千位分隔符

    function thousandSeparator(num) { return num && (num .toString().indexOf('.') != -1 ? num.to ...

  2. amazeui+canvas绘制二维码

    <link rel="stylesheet" type="text/css" href="css/amazeui.min.css"/& ...

  3. SQLServer 学习笔记之超详细基础SQL语句 Part 11

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 10------------------- DECLARE @myavg ...

  4. 利用HTML5和echarts开发大数据展示及大屏炫酷统计系统

    想这样的页面统计及展示系统都是通过echarts来发开的及ajax数据处理,echarts主要是案例,在案例上修改即可,填充数据 echarts的demo案例如下: http://echarts.ba ...

  5. JSP源码、改写Servlet为JSP、查看转译成为Servlet的文件、JSP字符编码设置

    概述 在Servlet中编写HTML太麻烦了,应该使用JSP.JSP中可以直接编写HTML,使用指示.声明.脚本(scriptlet)等元素来堆砌各种功能,但JSP最后还是会被容器转译为Servlet ...

  6. [Android] 实现简单的相机程序

    好久没写了,有些东西做过都快忘了,赶紧记一下. 现在来实现一个简单的相机程序. 原文地址http://www.cnblogs.com/rossoneri/p/4246134.html 当然需要的话可以 ...

  7. [Android] 图片裁剪总结——调用系统裁剪

    花了两天时间看了下android的图片裁剪功能的实现.其实刚开始做这个我挺虚的,以为整个功能都需要自己写出来,但查了些资料,发现android已经提供了裁剪功能,需要的话自己调用就成了.soga,这下 ...

  8. Linux服务器ftp+httpd部署

    一.ftp安装 1.安装vsftpd 命令:yum -y install vsftpd 2.修改ftp配置文件 命令:vim /etc/vsftpd/vsftpd.conf 3.按i进入insert模 ...

  9. 【转】Redis学习---哈希结构内存模型剖析

    [原文]https://www.toutiao.com/i6594624365906625032/ 概述 在前文<Redis字符串类型内部编码剖析>之中已经剖析过 Redis最基本的 St ...

  10. Win7下设置护眼的电脑豆沙绿界面

    控制面板\所有控制面板项\个性化\窗口颜色和外观 "色调"(Hue)设为85,"饱和度"(Sat)设为90,"亮度" (Lum)设为205. ...