问题 B: PK吹泡泡
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
经历了一天的训练之后, PK准备放松一下,在草坪上吹起了泡泡。经历了 PK 的一顿操作之后,天空中出现了 n 个泡
泡,每个泡泡都有个编号。 给出了m个关系,每个关系以u v w 的形式给出,表示编号为u的泡泡可以和编号为v的
泡泡连在一起,且花费的代价为 w。
这时, PK 想到了一个问题:如何以最小的代价把这 n 个泡泡中的一些泡泡连在一起,使得天空中出现 k 个泡泡联通
块?可是PK沉浸在了泡泡的海洋无法自拔,不想思考这个问题,他希望你来替他回答。
输入
第一行三个整数 n,m,k (1 ≤ k < n ≤ 1000, 1 ≤ m ≤ 500000 )。表示泡泡的个数,PK 给出的关系数以及最终要
形成的泡泡联通块数。
接下来的m行 ,每行三个数 u,v,w(1 ≤ u, v ≤ n, 0 < w ≤ 1000000 ) ,表示你可以把泡泡 u 和泡泡 v 连在一起,需要
花费的代价为 w。

输出
输出一个整数,表示把这n个泡泡中的一些泡泡连在一起使得天空中出现k个泡泡联通块的最小代价

样例输入

4 4 2
1 2 1
2 3 4
3 4 2
1 4 5

样例输出

3

提示
数据保证有解

数据保证图联通

/*
认真读题,再画出样例,其实这题就是一个最小生成树,用Kruscal,开始时,有多少个点就要多少个联通块,每次选定一条边,联通块个数就会少一个。
所以用Kruscal选边,直到连通块只剩K个即可返回最小代价。
*/
Ac_code:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL maxn = 5e5+2;
struct Edge
{LL s,e;LL val;bool operator<(const Edge x)const{return val<x.val;}
}a[maxn];
LL pre[maxn];
LL myFind(LL x)
{return pre[x]==x?x:pre[x]=myFind(pre[x]);
}
LL kruscal(LL n,LL m,LL k)
{for(LL i = 1; i <= n; i++){pre[i] = i;}sort(a,a+m);LL sum = 0,cnt = 0;for(LL i = 0; i < m; i++){LL fx = myFind(a[i].s);LL fy = myFind(a[i].e);if(fx != fy){pre[fx]=pre[fy];sum += a[i].val;cnt++;if(n-cnt == k){return sum;}}}
}
int main()
{LL n,m,k;scanf("%lld%lld%lld",&n,&m,&k);for(LL i = 0; i < m; i++){scanf("%lld%lld%lld",&a[i].s,&a[i].e,&a[i].val);}printf("%lld\n",kruscal(n,m,k));return 0;
}

问题 B: PK吹泡泡(Kruscal)相关推荐

  1. 妹纸这套路玩的好深,吹泡泡能吹出气球来

    究竟证实有些对象是恋慕不来的,大爷再次走上人生的顶峰 这孩子莫非是充话费送的,横竖不像是亲生的. 都立秋了气候仍旧这么热,就带妹子出来泅水,看把她给高兴得... 这是哪个平易近族的习俗啊?真是美意难却 ...

  2. 儿童吹泡泡水简单配方_儿童吹泡泡玩具水怎么制作

    玩具是每个孩子成长所必须,给宝宝选择玩具的方法也不是那么简单的.给宝宝做玩具就更加不简单了,需要学习相关的教程才可以.那么,儿童吹泡泡玩具水怎么制作呢?跟着小编一起来看看关于儿童吹泡泡玩具的那些事吧! ...

  3. 电脑制作泡泡的html代码,Flash教你如何制作吹泡泡动画特效 -电脑资料

    教程贴士:这个Flash实例制作了一个有趣的"小丑吹泡泡"动画,主要运用了椭圆.直线工具,以及任意变形和渐变填充等,操作简洁易懂,适合练习, 这个Flash实例制作了一个有趣的&q ...

  4. “拧毛巾”和“吹泡泡”

    社会上的职业可以划分成"拧毛巾"和"吹泡泡"两种类型(其实就是非创作和创作) 拧毛巾 拧毛巾的动作是尽可能的挤掉毛巾中的水分,还原毛巾本来的样子.就像我们开始对 ...

  5. QQ宠物吹泡泡游戏小助手 VC++6.0代码分析

    最近玩QQ宠物,他总是心情低落,让我很不爽,让他玩耍吧,还得自己点鼠标,所以想偷个懒,试试能不能编个程序让电脑帮我做这个事情. 要干这件事就得先找一个游戏开刀,刚开始我找的是弹力球游戏,不就是点鼠标么 ...

  6. svg+js走路吹泡泡动画js特效代码

    下载地址 svg+js走路吹泡泡动画特效代码 dd:

  7. 用计算机做科学实验评课,幼儿园科学活动评课:实验吹泡泡(三)

    在网上看到一篇值得大家学习的科学教学文章<幼儿园科学活动评课:实验吹泡泡(三)>,对其他教师的教学工作开展很有用,重新排版了一下发到育儿天堂,希望对读者有用,还有一些值得大家学习的教案例文 ...

  8. 仿QQ点赞吹泡泡效果

    整理的网上资料 效果如图 下载地址 http://download.csdn.net/detail/qq_34709056/9852127

  9. 排序?吹泡泡吹到排序

    ** 什么是冒泡? ** 摇可口可乐的时候,气泡会向上冒出.扔石子到湖中的时候,会向下沉淀.这些都是直观的自然现象.那么对于计算机常说的冒泡是什么样呢? 冒泡算法 有一列数组,临近的两个值进行交换,较 ...

最新文章

  1. taskset -pc PID 查看线程占用cpu核
  2. 如何开启Dubbo框架内部的日志?
  3. 2022年全球及中国工业用真空电缆行业十四五产能需求与投资战略研究报告
  4. android网络请求流程图,Android OKHttp系列1-流程总结
  5. 检测session用户信息跳转首页界面
  6. bzoj4515 [Sdoi2016]游戏 标记永久线段树+链剖+差分
  7. Java 1.4 大数值问题
  8. Linux内存buffer和cpu cache的区别
  9. Python基础之集合set
  10. PHPMailer如何获取QQ邮箱授权码
  11. xbox 360手柄驱动程序_当手游开始变得硬核和竞技化 玩家会需要这样的手柄
  12. anaconda安装opencv
  13. 使用VS2019编译单个CPP文件并运行
  14. 初识DNA甲基化芯片
  15. linux mysql统计次数_按条件计数 - MySQL统计函数记录_数据库技术_Linux公社-Linux系统门户网站...
  16. idea 2020,2021,2022石皮-解到2099年怎么搞
  17. 20-Netty TCP 粘包和拆包及解决方案
  18. Android 音频焦点处理
  19. Android适配解决方案
  20. XML与Json解析

热门文章

  1. urlencode python_python爬虫之url中的中文问题
  2. Elasticsearch集群Red,分片无法恢复:cannot allocatebecause all found copies of the shard are either stale or c
  3. INFO org.apache.hadoop.ipc.RPC: Server at master/192.168.200.128:9000 not available yet, Zzzzz...
  4. Visual Studio 2022 17.1 正式发布,5个新亮点!
  5. PandasGUI:使用图形用户界面分析 Pandas 数据帧
  6. 别人的加班 vs 互联网人的加班
  7. lua脚本在redis集群中执行报错--Lua script attempted to access a non local key in a cluster node...
  8. hdu 6852Path6(最短路+最小割)
  9. HUST 1541 Student’s question
  10. docker ppt