摘要:
Highways大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值。思路:用Prim求,判断条件改一下就行。PS:dis数组初始化的时候用memset一直RE,希望有知道怎么回事的不吝赐教,谢了~ 1 #include 2 #include 3 #define INF 0x3f3f3f3f 4 5 int Map[510][510]; 6 int dis[510]; 7 int n, m; 8 9 int min(int a, int b)10 {11 return a > b ? b : a;12 }13 14 in... 阅读全文
摘要:
Truck History大意:用一个7位的string代表一个编号,两个编号之间的距离代表这两个编号之间不同字母的个数。一个编号只能由另一个编号变化的来,变化的字母的数量就是这两个编号之间相应的距离,现在要找出一个变化方案,使得总代价最小,也就是距离之和最小。思路:将每个字符串当成一个节点,求出每个节点之间需要变化的次数为边的权值,用Prim建立最小生成树(稠密图)。 1 #include 2 #include 3 #define INF 0x3f3f3f3f 4 5 int Map[2010][2010]; 6 char s[2010][8]; 7 int dis[2010]; 8 ... 阅读全文
摘要:
Agri-Net大意:新镇长竞选宣言就是将网络带到每一个农场,给出农场个数,两两之间建光缆的耗费,求所有都联通的最小耗费。思路:最小生成树,因为边比较稠密,用Prim做。PS;对于比较稠密的图,用Prim,对于比较稀疏的图,用Kruskal。Kruskal是找边的过程,稀疏的话会比较快。 1 #include 2 #include 3 #define INF 0x3f3f3f3f 4 5 int dis[110]; 6 int Map[110][110]; 7 int n; 8 int Ans; 9 10 int min(int a, int b)11 {12 return a ... 阅读全文