传送门     练习

只是一个最小生成树的水题,拿来练练模板

AC代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
#define maxn 10001
struct hh
{
int x,y,z;
}t[maxn];
int n,m,fa[maxn],ans=,bj,jl[maxn],top=;
bool cmp(const hh&x,const hh&y)
{
return x.z<y.z;
}
inline int find(int u)
{
if(fa[u]==u) return u;
fa[u]=find(fa[u]);
return u=fa[u];
}
inline void kruskal()
{
int f1,f2,k,i;
k=;
for(i=;i<=n;i++) fa[i]=i;//初始化
for(i=;i<=m;i++)
{
f1=find(t[i].x);
f2=find(t[i].y);
if(f1!=f2)
{
ans=ans+t[i].z;
jl[++top]=t[i].z;
fa[f1]=f2;
k++;
if(k==n-) break;
}
}
}
int main()
{
cin>>n>>m;
ans=;bj=;
for(int i=;i<=m;i++)
{
cin>>t[i].x>>t[i].y>>t[i].z;
}
sort(t+,t+m+,cmp);
kruskal();
sort(jl+,jl+top);
cout<<jl[top]<<endl;
return ;
}

再附上最小生成树纯模板:

#include<bits/stdc++.h>
using namespace std;
const int maxn=;
struct edge{int x,y,z;}a[maxn];//定义数组(好用的结构体)
int n,m,fa[maxn],ans=,bj;
bool cmp(const edge&x,const edge&y)//重定义sort函数(背模板吧。。)
{
return x.z<y.z;
}
int find(int u)//查找祖先
{
if(fa[u]==u) return fa[u];
fa[u]=find(fa[u]);
return fa[u];
}
void kruskal()//kruskal的核心程序
{
int f1,f2,k,i;
k=;
for(i=;i<=n;i++) fa[i]=i;
for(i=;i<=m;i++)
{
f1=find(a[i].x);
f2=find(a[i].y);//并查集基本操作
if(f1!=f2)//两点之间没有边(有边就不管)
{
ans=ans+a[i].z;
fa[f1]=f2;
k++;//搭边并记录
if(k==n-) break;//图刚好为最小生成树,退出
}
}
if(k<n-){cout<<"orz"<<endl;bj=;return;}//边数达不到最小生成树要求
}
int main()
{
cin>>n>>m;//输入点数,边数
ans=;bj=;//ans记录总的边权长,bj判断能否组成最小生成树
for(int i=;i<=m;i++)
{
cin>>a[i].x>>a[i].y>>a[i].z;//输入点1,点2,并赋上权值
}
sort(a+,a+m+,cmp);//从小到大排序
kruskal();//建树
if(bj) cout<<ans<<endl;//有最小生成树就输出ans
return ;
}

P1547 Out of Hay的更多相关文章

  1. 洛谷——P1547 Out of Hay

    P1547 Out of Hay 题目背景 奶牛爱干草 题目描述 Bessie 计划调查N (2 <= N <= 2,000)个农场的干草情况,它从1号农场出发.农场之间总共有M (1 & ...

  2. 洛谷P1547 Out of Hay

    题目背景 奶牛爱干草 题目描述 Bessie 计划调查N (2 <= N <= 2,000)个农场的干草情况,它从1号农场出发.农场之间总共有M (1 <= M <= 10,0 ...

  3. 洛谷 P1547 Out of Hay (最小生成树)

    嗯... 题目链接:https://www.luogu.org/problemnew/show/P1547 思路: 嗯...既然题中已经说了是最小生成树,那么是需要在最小生成树的模板上稍作修改即可.要 ...

  4. P1547 Out of Hay 洛谷

    https://www.luogu.org/problem/show?pid=1547 题目背景 奶牛爱干草 题目描述 Bessie 计划调查N (2 <= N <= 2,000)个农场的 ...

  5. [总结]最小生成树之Kruskal算法

    目录 一.最小生成树的相关知识 1. 树的性质 2. 生成树 3. 最小生成树 4. 最小生成树的性质 二.Kruskal算法求最小生成树 1. 核心思想 2. 具体流程 3. 图示 4. 代码实施 ...

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

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

  7. 洛谷P2925 [USACO08DEC]干草出售Hay For Sale

    题目描述 Farmer John suffered a terrible loss when giant Australian cockroaches ate the entirety of his ...

  8. [BZOJ1618][Usaco2008 Nov]Buying Hay 购买干草

    [BZOJ1618][Usaco2008 Nov]Buying Hay 购买干草 试题描述 约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草. 他知道N(1≤N≤100)个干草 ...

  9. Out of Hay

    Out of Hay Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13094 Accepted: 5078 Descripti ...

随机推荐

  1. [转载]基于UML的需求分析和系统设计(完整案例和UML图形演示)

    小序: 从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念.图形的元素和属性,以及图形的画法都不能说不熟悉.但是怎样在实际中有效地使用UML使之发挥应有的作用,怎样捕捉用户心中的需求并转 ...

  2. ubuntu16.04 无法连接wifi和校园宽带问题的解决办法

    我遇到的问题是在ubuntu16.04系统下无法进行上海大学校园宽带连接或者校园wifi连接,我一个一个来解决这两个问题. 1.无法连接校园宽带的问题:输入校园账号和密码后,宽带始终连接不上.(上海大 ...

  3. jpg、gif、png-8、png-24的区别

    一.gif格式的特点 1.透明性.gif是一种布尔透明类型,即它可以是全透明,也可以是全不透明,但是没有半透明 2.动画.gif支持动画 3.无损耗性.gif是一种无损耗的图像格式,这意味着你可以对g ...

  4. SOAPUI 案例操作步骤

    1. 构建项目 2. 运行单个请求 3. 构建测试用例 4. 接口之间传递参数 5. 运行整个测试用例 构建测试 以天气接口为例: 接口: http://ws.webxml.com.cn/WebSer ...

  5. Errors occurred during the build. Errors running builder 'Validation' on pro

    选择项目-->右键-->Properties-->Builders   右面有四个选项,把Validation前面勾去掉

  6. Camera2点击对焦实现2

    https://www.aliyun.com/jiaocheng/22218.html 阿里云 >  教程中心   >  android教程 >  Camera2点击对焦实现 Cam ...

  7. oracle之存储过程和存储函数的使用和区别

    #存储过程:封装在服务器上一段sql片段,已经编译好了的代码. 1.客户端调存储过程,执行效率就会非常高效. 语法: create [or replace] procedure 存储过程名称 (参数名 ...

  8. MySQL实现排名并查询指定用户排名功能

    表结构: CREATE TABLE test.testsort ( id ) NOT NULL AUTO_INCREMENT, uid ) COMMENT '用户id', score , ) DEFA ...

  9. mysql 5.7/percona server/mariadb 10.2安装与服务器参数优化

    建议使用percona server linux generic版,从https://www.percona.com/downloads/Percona-Server-LATEST/下载,现在不在推荐 ...

  10. rabbitmq集群安装与配置(故障恢复)

    0.首先按照http://www.cnblogs.com/zhjh256/p/5922562.html在至少两个节点安装好(不建议单机,没什么意义) 1.先了解rabbitmq集群架构,http:// ...