poj 2485 Highways (最小生成树)
题意:输入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 (最小生成树)的更多相关文章
- POJ 2485 Highways(最小生成树+ 输出该最小生成树里的最长的边权)
...
- POJ 2485 Highways 最小生成树 (Kruskal)
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...
- poj 2485 Highways 最小生成树
点击打开链接 Highways Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 19004 Accepted: 8815 ...
- poj 2485 Highways
题目连接 http://poj.org/problem?id=2485 Highways Description The island nation of Flatopia is perfectly ...
- POJ 2485 Highways【最小生成树最大权——简单模板】
链接: http://poj.org/problem?id=2485 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- POJ 2485 Highways( 最小生成树)
题目链接 Description The islandnation of Flatopia is perfectly flat. Unfortunately, Flatopia has no publ ...
- POJ 2485 Highways (求最小生成树中最大的边)
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...
- POJ 2485 Highways (prim最小生成树)
对于终于生成的最小生成树中最长边所连接的两点来说 不存在更短的边使得该两点以不论什么方式联通 对于本题来说 最小生成树中的最长边的边长就是使整个图联通的最长边的边长 由此可知仅仅要对给出城市所抽象出的 ...
- poj 2485 Highways(最小生成树,基础,最大边权)
题目 //听说听木看懂之后,数据很水,我看看能不能水过 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stri ...
随机推荐
- JPEG/PNG/GIF图片格式简析
JPEG/PNG/GIF是Web浏览器广泛支持的3种图片格式. 1.JPEG格式最适合保存照片和其他复杂图像. 2.GIF和PNG格式最适合保存logo和其他包含单色.线条.文本的简单图形. 3.JP ...
- ES6中声明变量 let和const特点
在ES6中我们有两种定义变量的方式:let const let特点: 1.let定义时不会进行变量声明提升 2.变量不允许被重复定义 3.变量不可以被删除 4.在for循环当中用let定义i 循 ...
- JS中String与Array的一些常用方法
真是恨透了这些类似于substring substr slice 要么长得像,要么就功能相近的方法... 1⃣️string 1.substring(start开始位置的索引,end结束位置索引) 截 ...
- css选取table元素的第一列
table tr td:first-child
- Android--用JS去控制WebView显示的字体的大小
<script type="text/javascript"> function changeFontSize(size) { var tfs = '120%'; va ...
- pycharm的放大和缩小字体的显示 和ubunt的截圖工具使用 ubuntu上安装qq微信等工具
https://www.cnblogs.com/sui776265233/p/9322074.html#_label0 ubuntu: 截圖工具的使用 在ubuntu 10.04 的时候,还可以很方便 ...
- Java学习---面试基础知识点总结
Java中sleep和wait的区别 ① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线 ...
- 【redis】redis的雪崩和穿透
1.什么是缓存穿透 一般的缓存系统,都是按照key值去缓存查询,如果不存在对应的value,就应该去DB中查找 .这个时候,如果请求的并发量很大,就会对后端的DB系统造成很大的压力.这就叫做缓存穿透. ...
- beta冲刺————第四天(4/5)
完善的具体内容: 前端:以下的功能还未完全实现 (1)点击收藏可以收藏入收藏夹 (2)分享操作,意见反馈 后端: 寻找文章来源,像数据库中增添了150篇的新文章.(我们的文章都要求自己内部人员看过,所 ...
- Sublime2 DocBlocker插件在自动补全注释时输出自定义作者和当前时间等信息
Sublime在进行前端开发时非常棒,当然也少不了众多的插件支持,DocBlocker是在Sublime平台上开发一款自动补全代码插件,支持JavaScript (including ES6), PH ...