POJ 1287 Networking【kruskal模板题】
传送门:http://poj.org/problem?id=1287
题意:给出n个点 m条边 ,求最小生成树的权
思路:最小生树的模板题,直接跑一遍kruskal即可
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
using namespace std;
const int maxn = 5005;
struct node
{
int u;
int v;
int w;
bool operator< (const node &a)
{
return w < a.w;
}
} edges[maxn];
int f[maxn];
int find(int x)
{
return f[x] = f[x] == x ? x : find(f[x]);
}
int kruskal(int n, int m)
{
for(int i = 1; i <= n; i++)
f[i] = i;
int cnt = 0;
int ans = 0;
for(int i = 1; i <= m; i++)
{
int u = edges[i].u;
int v = edges[i].v;
int w = edges[i].w;
int t1 = find(u);
int t2 = find(v);
if(t1 != t2)
{
ans += w;
f[t1] = t2;
cnt++;
}
if(cnt == n - 1)
break;
}
if(cnt < n - 1)
return -1;
else
return ans;
}
int main()
{
int n;
while(scanf("%d", &n), n)
{
int m;
scanf("%d", &m);
for(int i = 1; i <= m; i++)
{
scanf("%d%d%d", &edges[i].u, &edges[i].v, &edges[i].w);
}
sort(edges + 1, edges + m + 1);
int ans = kruskal(n, m);
cout << ans << endl;
}
}
POJ 1287 Networking【kruskal模板题】的更多相关文章
- POJ 1287 Networking (最小生成树模板题)
Description You are assigned to design network connections between certain points in a wide area. Yo ...
- ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
题目链接:problemCode=1372">ZOJ1372 POJ 1287 Networking 网络设计 Networking Time Limit: 2 Seconds ...
- POJ.1287 Networking (Prim)
POJ.1287 Networking (Prim) 题意分析 可能有重边,注意选择最小的边. 编号依旧从1开始. 直接跑prim即可. 代码总览 #include <cstdio> #i ...
- Sliding Window POJ - 2823 单调队列模板题
Sliding Window POJ - 2823 单调队列模板题 题意 给出一个数列 并且给出一个数m 问每个连续的m中的最小\最大值是多少,并输出 思路 使用单调队列来写,拿最小值来举例 要求区间 ...
- POJ 1287 Networking (最小生成树)
Networking Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit S ...
- poj 1287 Networking【最小生成树prime】
Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7321 Accepted: 3977 Descri ...
- [kuangbin带你飞]专题六 最小生成树 POJ 1287 Networking
最小生成树模板题 跑一次kruskal就可以了 /* *********************************************** Author :Sun Yuefeng Creat ...
- POJ 1258 + POJ 1287 【最小生成树裸题/矩阵建图】
Farmer John has been elected mayor of his town! One of his campaign promises was to bring internet c ...
- POJ 3041 匈牙利算法模板题
一开始预习是百度的算法 然后学习了一下 然后找到了学长的ppt 又学习了一下.. 发现..居然不一样... 找了模板题试了试..百度的不好用 反正就是wa了..果然还是应当跟着学长混.. 图两边的点分 ...
随机推荐
- idea创建同名的maven工程时报错:Failed to create a Maven project 'xxx/pom.xml' already exists in VFS
1.说明 原先有个 xxx 的 maven 工程,然后删掉了,又重新建了个同名的工程,而且目录也一样,结果报错: 可以在 Help ==> Show Log in Explorer 查看到以下具 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-tags
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- 面向对象第二个特征-继承(Inheritance)
面向对象第二个特征-继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java中的继承概述 1>.继承概述 多个类种存在相同属性和行为时,讲这 ...
- 基础语法-判断结构if语句
基础语法-判断结构if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单分支语句 /** * 判断结构if单分支语句 * @author 尹正杰 * */ public c ...
- CGridCtrl显示图片
- Java语言学习总结 扩展篇 DateFormat类
DateFormat类 java.text .DateFormat 是 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换:也就是可以在Date对象与String对象之间进 ...
- UVALive 6763 / CSU 1446
今天比赛的时候拿到的第一道题,其实挺简单的,求两等差序列中相同元素的个数,我想了一下就觉得,只要找到了第一个相等的点,然后后面求最大公约数就可以直接得到结果了 网上叫什么拓展欧几里得,我反正是按照我们 ...
- maven的理解和使用
一.maven是什么? maven是项目管理工具 二.maven为什么要用? 在做开发的时候常常会用到外部的工具包(jar包),这就需要你一个一个的去他们的官网下工具包,然后在项目里依赖他们,比较的麻 ...
- spring boot rest 接口集成 spring security(2) - JWT配置
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- POJ 1995:Raising Modulo Numbers 快速幂
Raising Modulo Numbers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5532 Accepted: ...