生成树总结

模板

kruskal(O(mlogm))

每次找最小边,只要没有产生回路就冲!

ll kru(ll st){
	ll ma=0;
	ll mi=1e18;
	ll cnt=0;
	ll ans=0;
	for(int i=st;i<=m;i++){
		ll ru=sr[i].x;
		ll rv=sr[i].y;
		if(find(ru)!=find(rv)){//没有回路 
			ad(ru,rv);
			ans+=sr[i].z;
			cnt++;
		}
		if(cnt==n-1){
			return ans;
		}
	}
	return -1;
}

注:并查集 find 一定这样写:return fa[x]=find(fa[x]);


prim(O(nm))

每次看已经收入的点,找到一个最小的边,再跑

wait

例题

道路修建
黑暗城堡

posted @   MistyPost  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示