http://poj.org/problem?id=1287

最小生成树模板题类似的还有:poj1258  hdu1233代码几乎一样;

最小生成树详解

 #include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<map>
#define N 110
#define INF 0xfffffff
using namespace std; int ans, n, m, dist[N], maps[N][N], vis[N];//dist[i]代表当前起点到i的最小距离; void Init()
{
for(int i=; i<=n; i++)
{
dist[i] = INF;
vis[i] = ;
for(int j=; j<=n; j++)
if(i==j)
maps[i][j] = ;
else
maps[i][j] = INF;
}
} void Prim(int start)
{
for(int i=; i<=n; i++)
dist[i] = maps[start][i];
vis[start] = ;
for(int i=; i<=n; i++)
{
int Min = INF, index=-; for(int j=; j<=n; j++)
{
if(vis[j]== && Min>dist[j])
{
Min = dist[j];
index = j;
}
}
if(index == -)break;
vis[index] = ;
ans += Min;
for(int j=; j<=n; j++)
{
if(vis[j]== && maps[index][j] < dist[j])
{
dist[j] = maps[index][j];
}
}
}
} int main()
{
int a, b, c;
while(scanf("%d", &n),n)
{
ans=;
Init();
scanf("%d", &m);
for(int i=; i<m; i++)
{
scanf("%d%d%d", &a, &b, &c);
maps[a][b] = maps[b][a] = min(maps[a][b], c);
}
Prim();
printf("%d\n", ans);
}
return ;
}

prim

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<map>
#define N 110
#define INF 0xfffffff
using namespace std; int n, f[N], m; struct node
{
int x, y, d;
}a[N*N]; int cmp(node p, node q)
{
return p.d < q.d;
} int Find(int x)
{
if(x != f[x])
f[x] = Find(f[x]);
return f[x];
} int main()
{
int ans, px, py;
while(scanf("%d", &n),n)
{
ans=;
for(int i=; i<=n; i++)
f[i] = i;
scanf("%d", &m);
for(int i=; i<m; i++)
{
scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].d);
}
sort(a, a+m, cmp);
for(int i=; i<m; i++)
{
px = Find(a[i].x);
py = Find(a[i].y);
if(px != py)
{
f[px] = py;
ans+=a[i].d;
}
}
printf("%d\n", ans);
}
return ;
}

Kruskal

Networking---poj1287最小生成树的更多相关文章

  1. POJ1287 Networking【最小生成树】

    题意: 给出n个节点,再有m条边,这m条边代表从a节点到b节点电缆的长度,现在要你将所有节点都连起来,并且使长度最小 思路: 这是个标准的最小生成树的问题,用prim的时候需要注意的是他有重边,取边最 ...

  2. POJ 1287 Networking (最小生成树)

    Networking 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/B Description You are assigned ...

  3. POJ 1287 Networking(最小生成树)

    题意  给你n个点 m条边  求最小生成树的权 这是最裸的最小生成树了 #include<cstdio> #include<cstring> #include<algor ...

  4. poj 1287 Networking【最小生成树prime】

    Networking Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7321   Accepted: 3977 Descri ...

  5. POJ 1287:Networking(最小生成树Kruskal)

    id=1287">Networking Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5976   Acce ...

  6. POJ - 1287 Networking 【最小生成树Kruskal】

    Networking Description You are assigned to design network connections between certain points in a wi ...

  7. POJ1287(最小生成树入门题)

    Networking Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7753   Accepted: 4247 Descri ...

  8. POJ 1287 Networking(最小生成树裸题有重边)

    Description You are assigned to design network connections between certain points in a wide area. Yo ...

  9. POJ - 1287 Networking (最小生成树&并查集

    You are assigned to design network connections between certain points in a wide area. You are given ...

  10. 最小生成树练习1(克鲁斯卡尔算法Kruskal)

    今天刷一下水题练手入门,明天继续. poj1861 Network(最小生成树)新手入门题. 题意:输出连接方案中最长的单根网线长度(必须使这个值是所有方案中最小的),然后输出方案. 题解:本题没有直 ...

随机推荐

  1. Jsoup(一)-- HelloWorld

    1.简介 jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. ...

  2. 使用Postfix和Dovecot收发电子邮件

    邮件应用协议包括: 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口. 第四版 ...

  3. ajax劫持?

    <html<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ut ...

  4. 《转》Python学习(19)-python函数(二)-关于lambda

    转自http://www.cnblogs.com/BeginMan/p/3178103.html 一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称 ...

  5. 【技术分享会】 @第六期 iOS开发基础

    前言 iOS之前被称为 iPhone OS,是一个由苹果公司开发的移动操作系统. iOS的第一个版本是在2007年发布的,其中包括iPhone和iPod Touch. iOS开发工具:Xcode 运行 ...

  6. 开始使用ARC

    Automatic Reference Counting (ARC)是编译器自动管理Objective-C对象的一个功能,相对于不得不考虑retain和release操作来说,ARC让我们有更多的精力 ...

  7. c++ 纯虚析构函数

    ; 这就是一个纯虚析构函数,这种定义是允许的. 一般纯虚函数都不允许有实体,但是因为析构一个类的过程中会把所有的父类全析构了,所以每个类必有一个析构函数. 所以.纯虚析构函数需要提供函数的实现,而一般 ...

  8. 关于ASP.NET中Request.QueryString的乱码问题(转)

    转自 http://www.cnblogs.com/chinhr/archive/2008/09/23/1296582.html 今天在使用Request.QueryString的时候,发现所有接收到 ...

  9. Building Boost for Android with error “cannot find -lrt”

    编辑tools/build/src/tools/gcc.jam rule setup-threading ( targets * : sources * : properties * ){ local ...

  10. testmath

    $\Huge ans = \frac{ \sum\limits_{i=1}^{m}{ (x_i - \bar{x})^2 } }{m} \cdot m^2 \\$