您的位置:首页 > 其它

哈哈哈

2022-05-28 10:56 1171 查看
int fa
;
inline int Find(int x){
return x==fa[x]?x:fa[x]=Find(fa[x]);
}
struct edge{
int u,v,w;
inline bool operator < (const edge &b)const{return w<b.w;}
}e[M];
int main(){
sort(e+1,e+m+1);
int ans=0;
for(int i=1;i<=m;i++){
int faa=Find(e[i].u),fab=Find(e[i].v);
if(faa==fab) continue;
fa[faa]=fab;ans+=e[i].w;
}

}

 

struct edge{
int to,next;
inline void Init(int to_,int ne_){
to=to_;next=ne_;
}
}e[M];
int head
,tail;

inline void Add(int from,int to){
li[++tail].Init(to,head[from]);
head[from]=tail;
}

int main(){
for(int x=head[k];x;x=li[x].next){

}
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: