本文主要是介绍fzu 1963 交通建设(kruskal),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:fzu 1963 1963 交通建设
题目大意:略。
解题思路:kruskal的变形,外填一个汇点0,将建造飞机场看成是于0点建立一条边,费用为一个飞机场的价格。然后就是裸的kruskal算法,不过要注意的是如果只有一个点与0点相连,那么就要判断该点的飞机场是否为必须建立的,如果不为必须建立的则要减掉。
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <iostream>using namespace std;
const int N = 1005;
const int M = 15005;
typedef long long ll;struct line {int u, v;ll l;
}way[M];ll ans, costA, costB;
int n, m, k, t, cnt, f[N];int get (int x) {return f[x] ==
这篇关于fzu 1963 交通建设(kruskal)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!