博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[kuangbin带你飞]专题六 最小生成树 D - Constructing Roads
阅读量:4557 次
发布时间:2019-06-08

本文共 928 字,大约阅读时间需要 3 分钟。

D - Constructing Roads

题目链接:

题目:

有N个村庄,编号从1到N,你应该建造一些道路,使每两个村庄可以相互连接。我们说两个村A和B是相连的,当且仅当A和B之间有一条道路,或者存在一个村C以便在A和C之间有一条道路,并且C和B相连。

    我们知道一些村庄之间已经有一些道路,你的工作就是修建一些道路,使所有村庄都连通起来,所有道路的长度都是最小的。
输入
    第一行是整数N(3 <= N <= 100),这是村庄的数量。然后是N行,其中第i个包含N个整数,这些N个整数中的第j个是村庄i和村庄j之间的距离(距离应该是[1,1000]内的整数)。
    然后是整数Q(0 <= Q <= N *(N + 1)/ 2)。然后是Q行,每行包含两个整数a和b(1 <= a <b <= N),这意味着村庄a和村庄b之间的道路已经建成。
产量
    您应该输出一个包含整数的行,该整数是要构建的所有道路的长度,以便连接所有村庄,并且此值最小。
样本输入
    3
    0 990 692
    990 0 179
    692 179 0
    1
    1 2
样本输出
    179

思路:只要求最小生成树就行,运用到并查集,详解

//// Created by hy on 2019/7/30.//#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;const int maxn=2e5+10;int father[maxn];struct Node{ int u,v,w; bool operator<(const Node &other)const{ return this->w

 

见注释

 

转载于:https://www.cnblogs.com/Vampire6/p/11273198.html

你可能感兴趣的文章
理解class.forName()
查看>>
九大排序算法再总结
查看>>
Uva10290 - {Sum+=i++} to Reach N
查看>>
每日一小练——数值自乘递归解
查看>>
二叉搜索树 (BST) 的创建以及遍历
查看>>
MyBatis/Ibatis中#和$的区别
查看>>
【JAVASCRIPT】React学习-组件生命周期
查看>>
win 64 文件操作
查看>>
LeetCode : First Bad Version
查看>>
pythone函数基础(14)发送邮件
查看>>
Java的一些好看的
查看>>
Linux 修改文件夹和其中所有文件的权限
查看>>
详解volatile 关键字与内存可见性
查看>>
go 聊天室简单版总结
查看>>
HDU 4258 斜率优化dp
查看>>
Literature review
查看>>
Java 中可变参数
查看>>
PyTorch在64位Windows下的Conda包(转载)
查看>>
php的单元测试,PHPUnit安装
查看>>
CentOS7 设置软件镜像源
查看>>