题意:从待选的路里面选出若干将所有点连通,求选出的边里最长边的最小值。

算法:要使得树的最长边最小,那么每次确定的边都应是待选边里最小的,即最小生成树。对应Kruskal算法。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std; int N, M; // 农场数,道路数
int par[2005];
void init() {
for (int i = 1; i <= N; ++i) par[i] = i;
}
int find(int x) {
return par[x] == x ? x : par[x] = find(par[x]);
}
void unite(int x, int y) {
x = find(x);
y = find(y);
if (x != y) par[x] = y;
}
bool same(int x, int y) {
return find(x) == find(y);
}
struct edge {
int u, v, cost;
edge(int u, int v, int cost) : u(u), v(v), cost(cost) {}
bool operator<(const edge &b) const {
return cost < b.cost;
}
};
vector<edge> es;
void solve() {
sort(es.begin(), es.end());
init();
for (vector<edge>::iterator i = es.begin(); i != es.end(); ++i) {
if (!same(i->u, i->v)) {
unite(i->u, i->v);
N--;
}
if (N == 1) { // 第N-1条边
cout << i->cost << endl;
break;
}
}
}
int main()
{
cin >> N >> M;
int u, v, cost;
for (int i = 0; i < M; ++i) {
cin >> u >> v >> cost;
es.push_back(edge(u, v, cost));
}
solve();
return 0;
}

POJ 2395 Out of Hay (Kruskal)的更多相关文章

  1. 瓶颈生成树与最小生成树 POJ 2395 Out of Hay

    百度百科:瓶颈生成树 瓶颈生成树 :无向图G的一颗瓶颈生成树是这样的一颗生成树,它最大的边权值在G的所有生成树中是最小的.瓶颈生成树的值为T中最大权值边的权. 无向图的最小生成树一定是瓶颈生成树,但瓶 ...

  2. POJ 2395 Out of Hay(最小生成树中的最大长度)

    POJ 2395 Out of Hay 本题是要求最小生成树中的最大长度, 无向边,初始化es结构体时要加倍,别忘了init(n)并查集的初始化,同时要单独标记使用过的边数, 判断ans==n-1时, ...

  3. POJ 2395 Out of Hay(求最小生成树的最长边+kruskal)

    Out of Hay Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 18472   Accepted: 7318 Descr ...

  4. poj - 2377 Bad Cowtractors&&poj 2395 Out of Hay(最大生成树)

    http://poj.org/problem?id=2377 bessie要为FJ的N个农场联网,给出M条联通的线路,每条线路需要花费C,因为意识到FJ不想付钱,所以bsssie想把工作做的很糟糕,她 ...

  5. POJ 2395 Out of Hay(MST)

    [题目链接]http://poj.org/problem?id=2395 [解题思路]找最小生成树中权值最大的那条边输出,模板过的,出现了几个问题,开的数据不够大导致运行错误,第一次用模板,理解得不够 ...

  6. poj 2395 Out of Hay(最小生成树,水)

    Description The cows have run <= N <= ,) farms (numbered ..N); Bessie starts at Farm . She'll ...

  7. POJ 2395 Out of Hay (prim)

    题目链接 Description The cows have run out of hay, a horrible event that must be remedied immediately. B ...

  8. Poj 2395 Out of Hay( 最小生成树 )

    题意:求最小生成树中最大的一条边. 分析:求最小生成树,可用Prim和Kruskal算法.一般稀疏图用Kruskal比较适合,稠密图用Prim.由于Kruskal的思想是把非连通的N个顶点用最小的代价 ...

  9. POJ 2395 Out of Hay( 最小生成树 )

    链接:传送门 题意:求最小生成树中的权值最大边 /************************************************************************* & ...

随机推荐

  1. jQuery 选择城市,显示对应的即时时区时间

    因客户需要,我们CRM系统中,jQuery 弄个时区插件 如图: HTML: <div id="cityDate"> <i class="P_arrow ...

  2. 第15月第22天 libz.dylib

    1. 3.在弹出的对话框中输入"cmd"+"shift"+"g" 4 4.输入/usr/lib https://jingyan.baidu. ...

  3. k8s系列~mgr的应用

    一  简介:今天咱们大体介绍下 这两者是如何联系的二  概念解析     pod:说下我的理解    1 pod通过yaml文件来封装docker本身+启动形式    2 pod可以运行多个docke ...

  4. 11、Logback日志框架介绍和SpringBoot整合实战 2节课

    1.新日志框架LogBack介绍     简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等     ...

  5. ubuntu 上下左右键变成ABCD

    1.在ubuntu终端环境出现: 这表示你正在insert mode.... 按esc,回到command mode,上下左右就回复到正常的方向键功能了 2.可能写的程序是在insert mode(r ...

  6. android aysncTask面试解析

  7. nginx入门二

    反向代理: proxy_pass server { listen 80; location /n { proxy_pass http://127.0.0.1:8000/test; } location ...

  8. python cookbook 笔记一

    因为有些代码只有在python3里可以正常运行,所以最好配两个虚拟环境 安装虚拟环境: pip install virtualenv virtualenv -p /usr/bin/python3.5 ...

  9. emmc基础技术8:操作模式4-data transfer mode

    1.前言 eMMC总线操作包含: boot mode, device identification mode interrupt mode data transfer mode 本文主要描述data ...

  10. Graphql 相关 strapi -- Koa2

    Graphql  相关资源:     https://github.com/chentsulin/awesome-graphql graphql-apis       :     https://gi ...