2 条题解

  • 9
    @ 2023-7-17 16:05:02
    #include<bits/stdc++.h>
    using namespace std;
    #define  int long long
    struct node
    {
    	int u,v,w;
    };
    node a[1000001];
    int fa[1000001];
    int get(int x)
    {
    	if(fa[x]==x)return x;
    	return fa[x]=get(fa[x]);
    }
    bool cmp(node x,node y)
    {
    	return x.w<y.w;
    }
    main()
    {
    	ios::sync_with_stdio(0);
    	cout.tie(0);cin.tie(0);
    	int n,m,ans=0,tot=0;
    	cin>>n>>m;
    	for(int i=1;i<=m;i++)
    	{
    		cin>>a[i].u>>a[i].v>>a[i].w;
    	}
    	for(int i=1;i<=n;i++)fa[i]=i;
    	sort(a+1,a+1+m,cmp);
    	for(int i=1;i<=m;i++)
    	{
    		int u=a[i].u;
    		int v=a[i].v;
    		int w=a[i].w;
    		if(get(u)!=get(v))
    		{
    			ans+=w;
    			fa[get(u)]=get(v);
    			tot++;
    			if(tot==n-1)break;
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    
    • -16
      @ 2023-7-17 16:06:00

      AC

      #include <bits/stdc++.h>
      #define IOS ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
      #define re register
      #define int long long
      using namespace std;
      typedef long long ll;
      struct node
      {
      	int strt;
      	int to;
      	int len;
      };
      bool cmp(node x, node y)
      {
      	return x.len<y.len;
      }
      int n, m, x, y, z, ans;
      vector<node> edges;
      int parent[500010];
      int fnd(int t)
      {
      	return (parent[t]==t?t:parent[t]=fnd(parent[t]));
      }
      signed main()
      {
      	IOS;
      	cin>>n>>m;
      	for(int i=1; i<=n; i++) parent[i]=i;
      	for(int i=0; i<m; i++) cin>>x>>y>>z, edges.push_back({x, y, z});
      	sort(edges.begin(), edges.end(), cmp);
      	for(int i=0; i<m; i++)
      	{
      		if(fnd(edges[i].strt)!=fnd(edges[i].to))
      		{
      			parent[fnd(edges[i].strt)]=fnd(edges[i].to);
      			ans+=edges[i].len;
      		}
      	}
      	cout<<ans;
      	return 0;
      }
      
      
      • 1

      信息

      ID
      473
      时间
      1500ms
      内存
      256MiB
      难度
      3
      标签
      递交数
      917
      已通过
      99
      上传者