时间复杂度:mlogm
流程:
1.建立并查集.
2.边按权值排序.
3.若x,y同属一个集合,则忽略.
4.否则,将x,y合并,并累加z.
5.处理过的边就是最小生成树.
struct rec
{
int x,y,z;
}edge[N];
int ans,n,m;
int fa[N];
bool operator < (rec a,rec b)
{
return a.z < b.z;
}
int get(int x)
{
if(x == fa[x]) return x;
return fa[x] = get(fa[x));
}
int main()
{
cin>>n>>m;
for(int i = 1; i <= m; i ++ )
cin>>edge[i].x>>edge[i].y>>edge[i].z;
for(int i = 1; i <= n; i ++ )
fa[i] = i;
sort(edge+1,edge+1+m);
for(int i = 1; i <= m; i ++ )
{
int x = get(edge[i].x);
int y = get(edge[i].y);
if(x == y) continue;
fa[x] = y;
ans+=edge[i].z;
}
cout<<ans<<endl;
}
大佬能做个目录吗……
不然杂七杂八的我都找不到了……
目录咋弄呀,我不会啊
hh就是列举出每一个帖子的名称,然后像这样:
这样调出帖子的地址,比如:
效果:
AcWing首页
hh就是列举出每一个帖子的名称,然后像这样:
这样调出帖子的地址,比如:
哦哦,有时间我弄下