题目链接:http://codeforces.com/contest/1095/problem/F


题意:给你n个点,每个点有个权值,如果在两点之间添一条边,代价为两点权值之和。现在给出m个边可以选择,代价给出,你可以自己建边不选择。问你把这个图连通最小的花费为多少。

解题心得:

  很简单的一个题,刚开始想复杂了弄了好久。直接选一个权值最小的点出来,和每一个点之间连一条边,和m条边放在一起,kruskal跑一下就行了。


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e5+; int father[maxn], n, m, pos;
ll Min; ll node[maxn];
struct Edge {
int s, t;
ll va; Edge(int S, int T, ll Va):
s(S), t(T), va(Va){};
}; bool cmp(Edge a, Edge b) {
return a.va < b.va;
} vector <int> ve[maxn];
vector <Edge> edge; void init() {
Min = 1e18;
scanf("%d%d",&n, &m);
for(int i=;i<=n;i++) {
ve[i].push_back(i);
scanf("%lld", &node[i]);
if(node[i] < Min) {
Min = node[i], pos = i;
}
father[i] = i;
}
for(int i=;i<m;i++) {
int a,b;
ll va;
scanf("%d%d%lld", &a, &b, &va);
edge.push_back(Edge(a, b, va));
}
for(int i=;i<=n;i++) {
if(i == pos) continue;
edge.push_back(Edge(pos, i, node[i] + Min));
}
sort(edge.begin(), edge.end(), cmp);
} int find(int x){
if(father[x] == x)
return x;
return father[x] = find(father[x]);
} void merge(int x,int y) {
int fx = find(x);
int fy = find(y);
father[fy] = fx;
} int main() {
//freopen("1.in", "r", stdin);
//freopen("1.out", "w", stdout);
init();
ll ans = ;
for(int i=;i<edge.size();i++) {
int fx = find(edge[i].s);
int fy = find(edge[i].t);
if(fx != fy) {
ans += edge[i].va;
merge(fx, fy);
}
}
printf("%lld", ans);
return ;
}

F. Make It Connected的更多相关文章

  1. F. Make It Connected 解析(思維、MST)

    Codeforce 1095 F. Make It Connected 解析(思維.MST) 今天我們來看看CF1095F 題目連結 題目 給你\(n\)個點,每個點\(u\)還有一個值\(a[u]\ ...

  2. F. Make It Connected(krustra+)

    题目链接:http://codeforces.com/contest/1095/problem/F 题目大意:首先给你n个点,然后给你每个点的权值,再给你m条边,这些边可以选也可以不选,然后问你要使这 ...

  3. F - Number of Connected Components UVALive - 7638 (并查集 + 思维)

    题目链接:https://cn.vjudge.net/contest/275589#problem/F 题目大意:就是给你n个数,如果说两个数之间的gcd!=1,那么就将这两个点连起来,问你最终这些点 ...

  4. Codeforces Round #529 (Div. 3) F.Make It Connected

    传送门 题意: 有 n 个顶点,每个顶点有个花费 a[ i ],连接顶点 u,v 需要花费 a[v]+a[u]的代价. 有 m 个特殊边,每条边有三个参数 u,v,w 代表的意思是连接 u,v 的花费 ...

  5. Codeforces Round #529 (Div. 3) F. Make It Connected (贪心,最小生成树)

    题意:给你\(n\)个点,每个点都有权值,现在要在这\(n\)个点中连一颗最小树,每两个点连一条边的边权为两个点的点权,现在还另外给了你几条边和边权,求最小权重. 题解:对于刚开始所给的\(n\)个点 ...

  6. [No000077]打造自己的Eclipse

    下载官网的Eclipse IDE for Java EE Developers 在根目录下的eclipse.ini文件中添加"-Dfile.encoding=UTF-8", 作用: ...

  7. Cognition math based on Factor Space (2016.05)

    Cognition math based on Factor Space Wang P Z1, Ouyang H2, Zhong Y X3, He H C4 1Intelligence Enginee ...

  8. 5.非关系数据库(Nosql)它mongodb:创建一个集合,导出和导入备份, 数据恢复,进出口

     1 固定集合 固定集合值得是事先创建并且大小固定的集合 2 固定集合的特征:固定集合非常像环形队列.假设空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说.固定集合适用于不论什么想要自己 ...

  9. CodeForces Round #529 Div.3

    http://codeforces.com/contest/1095 A. Repeating Cipher #include <bits/stdc++.h> using namespac ...

随机推荐

  1. Docker的安装及加速

    使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname ...

  2. 上海大智慧某站未授权访问&SQL注入

    详细说明: 注入:禁用JS,http://dzh.com.cn/admin/userlist.phphttp://dzh.com.cn/admin/editUser.php?username=test ...

  3. Debian/Kali 安装原生Firefox

    出于种种原因,有很多人信仰原装纯净:就像debian下的iceweasel,有人总想换成firefox.好吧,正好最近29版发布了,我们无视掉这两者哥两好的关系,尝试在Debian/Kali 下安装F ...

  4. tcp长连接分包方法

    tcp长连接分包的四种方法1.消息长度固定2.使用特殊的字符串作为消息边界.比如http协议的headers以“\r\n”为字段的分隔符3.在每条消息的头部加一个长度字段.这是最常见的4.利用消息本身 ...

  5. 随滚动条滚动,始终处于屏幕的中间类似qq的浮动窗口 (能看到运动的过程)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. PhoneGap实现重力感应

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. JavaScript 初学备忘录

    JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现 ...

  8. springboot+mybatis+shiro——登录认证和权限控制

    转载:https://z77z.oschina.io/ 一.引入依赖 shiro-all包含shiro所有的包.shiro-core是核心包.shiro-web是与web整合.shiro-spring ...

  9. OpenCV 中CV_IMAGE_ELEM 的使用

    CV_IMAGE_ELEM 是一个宏函数,基本形式: CV_IMAGE_ELEM(image,elemtype,row,col) 其中,image为指针数组,elemtype为数据的存取类型,row为 ...

  10. Objective-C中的@dynamic与@synthesize的区别

    Objective-C中的@dynamic 转自:http://blog.csdn.net/haishu_zheng/article/details/12873151 一.@dynamic与@synt ...