首页 > 其他分享 >最小生成树---模板

最小生成树---模板

时间:2023-09-12 11:38:20浏览次数:34  
标签:node return parent int 最小 --- include root 模板


最基础模板

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define V 110 //点的个数
#define E 5100  //边的个数

int parent[V];

int root(int p)
{
	if(parent[p]==-1) return p;
	else return parent[p]=root(parent[p]);
}
void merge(int a,int b)
{
	a=root(a);
	b=root(b);
	parent[a]=b;
}
struct node
{
	int a,b,len;
}p[E];

int cmp(node a,node b)
{
	return a.len<b.len;
}

int main()
{
	int i,j,k;
	int n,m,t;
	scanf("%d",&t);
	while(t--){
		memset(parent,-1,sizeof(parent));
		scanf("%d%d",&n,&m);
		int ans=0;
		while(m--){
			int a,b,c;
			scanf("%d%d%d",&a,&b,&c);
			p[ans].a=a;
			p[ans].b=b;
			p[ans].len=c;
			ans++;
		}
		sort(p,p+ans,cmp);
		int sum=0;
		for(i=0;i<ans;i++)
		{
			if(root(p[i].a)!=root(p[i].b)){
				merge(p[i].a,p[i].b);
				sum+=p[i].len;
			}
		}
		printf("%d\n",sum);	
	}
	return 0;
}




标签:node,return,parent,int,最小,---,include,root,模板
From: https://blog.51cto.com/u_16244339/7443645

相关文章

  • 欧拉函数--模板
    欧拉函数--模板//求1..n-1中与n互质的数的个数inteular(intn){ intret=1,i; for(i=2;i*i<=n;i++) if(n%i==0){ n/=i,ret*=i-1; while(n%i==0) n/=i,ret*=i; } if(n>1) ret*=n-1; returnret;}......
  • 快速幂模板
    参数数据类型,可改为来longlong,__int64.//m^n%kintquickpow(intm,intn,intk){intb=1;while(n>0){if(n&1)b=(b*m)%k;n=n>>1;m=(m*m)%k;}returnb;}......
  • Python - 接口自动化(Requests)
    1、requests简介如果想用python做接口测试,我们首先有不得不了解和学习的模块。它就是python的第三方模块:Requests。虽然Python内置有urllib模块用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。所以呢更好的方案是使用requests。它也是目前应用最广泛、最......
  • 二叉树 遍历 hdu-1710-Binary Tree Traversals
    给出二叉树的前序遍历和中序遍历,求后序遍历。。 算法:由前序遍历的第一个元素可确定左、右子树的根节点,参照中序遍历又可进一步确定子树的左、右子树元素。如此递归地参照两个遍历序列,最终构造出二叉树。 由前序和中序结果求后序遍历结果树的遍历: 给你一棵树的先......
  • RabbitMQ - Exception (504) Reason: "channel id space exhausted"
    使用go的第三方包:github.com/rabbitmq/amqp091-go出现报错:getmqchannelerror{"error":"Exception(504)Reason:channelidspaceexhausted"}ctx:=context.Background()results,err:=global.Redis.LRange(ctx,abListName,0,-1).Result()......
  • 无涯教程-JavaScript - PDURATION函数
    描述PDURATION函数返回投资达到指定值所需的周期数。PDURATION使用以下公式-$$PDURATION=\frac{log\left(指定值\right)-log\left(currentValue\right)}{log\left(1+rate\right)}$$WherespecifiedValue等于fvcurrentValue等于pv语法PDURATION(rate,pv,fv)......
  • Ubuntu Server 22.04 双网卡绑定 配置文件 Bond mode 1 : active-backup 主备模式
    UbuntuServer22.041.拓扑视图实例 2.备份配置文件修改前备份root@ax:~#cpetc/netplan/00-installer-config.yamletc/netplan/00-installer-config.yaml.orig修改配置文件,Ubuntu严格区分格式,空格缩进。简要说明:eno1-eno4,关闭dhcp;bond0只绑定eno1、eno2,实际可根据情况,绑定更多......
  • xilinx赛灵思下载器jtag-hs3兼容alinx仿真fpga烧录digilent高速常见问题解答
    1.概述  XJTAG-HS3是XILINX的USB转JTAG的高速仿真器,可以下载、烧录和仿真Xilinx FPGA和CPLD芯片,以及配置PROM、FLASH. XJTAG-HS3比PlatformCableUSBII下载器快10倍速度。 可以在30Mbit/秒下驱动JTAG/SPI总线,并且能实现对XilinxZYNQ平台处理器核的重置。可以支持ZYN......
  • k8s集群-spring cloud 集成seata的时候:can not register RM,err:can not connect to s
    背景说明seate和其他微服务在k8s集群中部署,都在同一个命名空间。注册到nacos的同一个命名空间seate是官方提供,无改动k8s中部署情况:报错提示core服务的报错内容:2023-09-1211:07:06.524ERROR7---[eoutChecker_2_1]i.s.c.r.netty.NettyClientChannelManager:0101c......
  • mysql - 集群
    概念mysql集群大致有这几种应用:单点写入,多点同时读;单点写入,另一个备用;多点同时写,允许这么做,但是不推荐,冲突不好解决。基本原理主库(master)在事务提交时,将数据的变化事件(events)记录在二进制日志文件(binlog)中。主库推送“binlog中的日志事件”到从库的“中继日志(relay......