ACM模板——最小生成树

int mincost[maxn];
bool used[maxn];
int MST()
{
    _for(i,0,V)
    {
        mincost[i] = INF;
        used[i] = false;
    }
    
    mincost[0] = 0;
    int res = 0;
    
    while(1)
    {
        int v = -1;
        _for(u,0,V)
            if(!used[u] && (v==-1 || mincost[u] < mincost[v]))
                v = u;
        
        if(v==-1) break;
        used[v] = true;
        res += mincost[v];
        
        _for(u,0,G[v].size())
            mincost[G[v][u].to] = min(mincost[G[v][u].to],G[v][u].cost);
    }
    return res;
}
Prim

Kruskal算法施工中

猜你喜欢

转载自www.cnblogs.com/Asurudo/p/10589544.html