博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1797 Heavy Transportation 最小生成树 最大生成树
阅读量:4072 次
发布时间:2019-05-25

本文共 932 字,大约阅读时间需要 3 分钟。

题意是说,找出使点1到点n的连通的所有路径上权值最小边的最大值,即有路能连通所有点,这路上的最大权值为x,找出最小的x;

这是最小生成树的模板题;

可以按照最小生成树kruskal的贪心思想,依次寻找图中从小到大的边,则加入树的权值从小到大,直到1点和n点全部连通,此时加入树的边的权值即为解

代码:

代码中的有关r数组的部分可以不加。

因为没打cnt==n-1 break; wr好几次

#include
#include
#include
#include
using namespace std;const int maxn=500010;int fa[maxn];int r[maxn];int n,m;struct Edge{ int u; int v; int weight;};Edge a[maxn];void unin(){ int i; for(i=1;i<=n;i++) { fa[i]=i; r[i]=1; }}int find(int u){ return fa[u]==u?fa[u]:fa[u]=find(fa[u]);}bool cmp(Edge x,Edge y){ return x.weight>y.weight;}void join(int u,int v){ int a=find(u); int b=find(v); if(a==b) return ; if(r[a]
r[b]) { fa[b]=a; } else { fa[a]=b; r[b]++; }}int main(){ int t; scanf("%d",&t); int p=0; while(t--) { scanf("%d%d",&n,&m); unin(); int i; for(i=0;i

转载地址:http://dygji.baihongyu.com/

你可能感兴趣的文章
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
elastic-job 和springboot 集成干货
查看>>
php开发微服务注册到eureka中(使用sidecar)
查看>>
mybatis mybatis plus mybatis jpa hibernate spring data jpa比较
查看>>
支付宝生活号服务号 用户信息获取 oauth2 登录对接 springboot java
查看>>
CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
查看>>
uva 12260 - Free Goodies (dp,贪心 | 好题)
查看>>
uva-1427 Parade (单调队列优化dp)
查看>>
【设计模式】学习笔记13:组合模式(Composite)
查看>>
hdu 1011 Starship Troopers (树形背包dp)
查看>>
hdu 1561 The more, The Better (树形背包dp)
查看>>
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
斯坦福大学机器学习——因子分析(Factor analysis)
查看>>
项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
查看>>
linux对于没有写权限的文件如何保存退出vim
查看>>
Windows下安装ElasticSearch6.3.1以及ElasticSearch6.3.1的Head插件
查看>>
IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
查看>>
【IntelliJ IDEA】idea导入项目只显示项目中的文件,不显示项目结构
查看>>