struct Node{
int u,w;
};
int vis[N]={};
priority_queue<Node> q;
bool operator <(Node A,Node B){
return A.w>B.w;
}
int prim(){
int ret=0;
q.push((Node){1,0});
while(!q.empty()){
Node tmp=q.top();
q.pop();
int u=tmp.u;
if(vis[u])continue;
ret+=tmp.w;
vis[u]=1;
for(int i=first[u];i;i=e[i].nxt){
int v=e[i].v;
if(!vis[v]){
q.push((Node){v,e[i].w});
}
}
}
return ret;
}
模板最小生成树-Prime
最新推荐文章于 2022-02-15 21:10:12 发布