题目背景

小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空。

有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖。

题目描述

给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起。

现在小杉要把所有云朵连成K个棉花糖,一个棉花糖最少要用掉一朵云,小杉想知道他怎么连,花费的代价最小。

输入输出格式

输入格式:

每组测试数据的

第一行有三个数N,M,K(1<=N<=1000,1<=M<=10000,1<=K<=10)

接下来M个数每行三个数X,Y,L,表示X云和Y云可以通过L的代价连在一起。(1<=X,Y<=N,0<=L<10000)

30%的数据N<=100,M<=1000

输出格式:

对每组数据输出一行,仅有一个整数,表示最小的代价。

如果怎么连都连不出K个棉花糖,请输出’No Answer’。

输入输出样例

输入样例#1:

3 1 2
1 2 1

输出样例#1:

1

思路

很简单的,直接最小生成树

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=1000+5;
int n,m,k,sum,ans,fa[N];
struct edge
{int u,v,w;bool operator <(edge a) const{return w<a.w;}
}ed[N*10];
int find(int x)
{if (fa[x]==x) return x;return fa[x]=find(fa[x]);
}
int main()
{scanf("%d%d%d",&n,&m,&k);for (int i=0;i<=n;i++) fa[i]=i;for (int i=1;i<=m;i++)scanf("%d%d%d",&ed[i].u,&ed[i].v,&ed[i].w);sort(ed+1,ed+m+1);for (int i=1;i<=m;i++){int fx=find(ed[i].u),fy=find(ed[i].v);if (fx!=fy){fa[fx]=fy;sum++;ans+=ed[i].w;}if (sum==n-k) {printf("%d",ans);return 0;}}puts("No Answer");   return 0;
}

洛谷 1195 口袋的天空 最小生成树 解题报告相关推荐

  1. 洛谷 1195 口袋的天空

    传送门 并查集水题. //Twenty #include<algorithm> #include<iostream> #include<cstdlib> #incl ...

  2. 洛谷 P1195 口袋的天空 (题解+代码)

    题目传送门:https://www.luogu.com.cn/problem/P1195 题解: 由于需要有k个棉花糖,则可理解为将云朵分成k个部分. 特判棉花糖大于云朵的数量,此时无解. 那么对于一 ...

  3. 洛谷 P3332 [ZJOI2013]K大数查询 解题报告

    P3332 [ZJOI2013]K大数查询 题目描述 有\(N\)个位置,\(M\)个操作.操作有两种,每次操作如果是\(\tt{1\ a\ b\ c}\)的形式表示在第\(a\)个位置到第\(b\) ...

  4. 洛谷 P2114 [NOI2014]起床困难综合症 解题报告

    P2114 [NOI2014]起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作 ...

  5. 洛谷 P2463 [SDOI2008]Sandy的卡片 解题报告

    P2463 [SDOI2008]Sandy的卡片 题意 给\(n(\le 1000)\)串,定义两个串相等为"长度相同,且一个串每个数加某个数与另一个串完全相同",求所有串的最长公 ...

  6. 洛谷 P1377 [TJOI2011]树的序 解题报告

    P1377 [TJOI2011]树的序 题目描述 众所周知,二叉查找树的形态和键值的插入顺序密切相关.准确的讲:1.空树中加入一个键值\(k\),则变为只有一个结点的二叉查找树,此结点的键值即为\(k ...

  7. 洛谷 P1356 数列的整数性 解题报告

    P1356 数列的整数性 题目描述 对于任意一个整数数列,我们可以在每两个整数中间任意放一个符号'+'或'-',这样就可以构成一个表达式,也就可以计算出表达式的值.比如,现在有一个整数数列:17,5, ...

  8. 洛谷 P2530 [SHOI2001]化工厂装箱员 解题报告

    P2530 [SHOI2001]化工厂装箱员 题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B ...

  9. 洛谷 P3797 妖梦斩木棒 解题报告

    P3797 妖梦斩木棒 妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力. 题目描述 有一天,妖梦正在练习剑术.地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的\(n\)段.现在这个木棒可以看做 ...

最新文章

  1. [小技巧] gcc attribute error 属性小试
  2. 关于 htonl 和 ntohl 的实现
  3. 3.通过两个交换机利用trunk将VLAN跨交换机进行互通
  4. python图像编程:实现弹球游戏
  5. jq动态获取input的值传给html,jquery 保证html()拿到的html字符串包含input的value值
  6. svd降维 python案例_SVD(奇异值分解)Python实现
  7. c语言prime函数怎么用_C语言教程_v20201106
  8. 脚本制作Minilinux
  9. Linux安装MySQL-MariaDB版本
  10. ES2018 学习笔记(4)Unicode 和 ISO 10646
  11. log4net 不生成日志文件的解决办法
  12. 【转】计算机视觉简介
  13. C++中使用空格的建议
  14. 数据挖掘——数据预处理
  15. 软件项目需求分析报告模板
  16. java ojdbc6_JAVA JDBC在连接ORACLE数据库时出现ojdbc6.jar has no source 问题?
  17. linux mysql 客户端 服务端_MySQL客户端和服务器端工具集
  18. python爬虫微信公众号视频
  19. 系统运维工程师都要会什么?
  20. 心力哲学——艰难多变环境下快乐、自由与生存力的源泉(二)

热门文章

  1. Linux的XServer
  2. php nav,HTML5 nav标签怎么用
  3. UE4中实现鼠标拖动游戏中的物体
  4. easypanel默认php版本设置,easypanel
  5. seo黑帽劫持用的php,黑帽seo劫持程序,js劫持搜索引擎代码
  6. 命令更新之sum2docx:将描述性统计输出至Word文档 ——转自李春涛老师团队 爬虫俱乐部 微信公众号
  7. 创建线程提示SCB_CFSR_BFSR:0x04 IMPRECISERR 错误
  8. R语言使用dplyr包的summarise函数计算dataframe数据中指定(特定)数据列的移动平均值
  9. Nignx-学习总结
  10. WordPress网站更换老鹰主机详细操作