zoukankan      html  css  js  c++  java
  • cf1184E1

    题意简述:给出n个点m条边的无向图,你可以修改第一条边的权值,使得他可能会处于一棵最小生成树中,问你第一条的权值最大(不超过1e9)可以改为多少

    题解:不去使用第一条边去跑最小生成树,然后在跑的过程中,有一条边连接的两个联通分量与第一条连接是一样的,那么答案就是这条边的权值

    如果最后没办法联通,说明第一条边是桥,答案是1e9

    int fa[maxn];
    
    int Find(int x){
    	return x==fa[x]?x:fa[x]=Find(fa[x]);
    }
    
    int main(){
    	int n,m;
    	cin>>n>>m;
    	vector<pair<int,pair<int,int>>> edge(m);
    	for(int i=0;i<m;i++){
    		cin>>edge[i].se.fi>>edge[i].se.se>>edge[i].fi;
    	}	
    	sort(edge.begin()+1,edge.end());
    	for(int i=1;i<=n;i++)
    		fa[i]=i;
    	for(int i=1;i<edge.size();i++){
    		int x=edge[i].se.fi,y=edge[i].se.se;
    		int px=Find(x),py=Find(y);
    		if(px!=py){
    			int p1=Find(edge[0].se.fi),p2=Find(edge[0].se.se);
    			if(p1==px&&p2==py) {
    				cout<<edge[i].fi<<endl;return 0;
    			}
    			if(p1==py&&p2==px) {
    				cout<<edge[i].fi<<endl;return 0;
    			}
    			fa[px]=py;
    		}
    	}
    	cout<<(int)1e9<<endl;
    }
    

      

  • 相关阅读:
    jquery.stop()停止动画
    字符串转义
    CSS规范 (命名)- 分类方法
    inline-block 间距
    jquery中offset(),position()
    PHP把数组转换为JSON字符串
    json对象
    C#-静态实例
    C#-readonly与const区别
    SQL-事务隔离级别与锁
  • 原文地址:https://www.cnblogs.com/033000-/p/12333186.html
Copyright © 2011-2022 走看看