P1111 修复公路P1195 口袋的天空
目录
P1111 修复公路
P1195 口袋的天空
P1111 修复公路
题目链接:https://www.luogu.com.cn/problem/P1111
标签:并查集,最小生成树
思路:本题用Kruskal算法
拓展1:最小生成树之Kruskal算法
思路来源:https://www.luogu.com.cn/blog/LonecharmRiver/solution-p1111
#include<iostream>
#include<algorithm>
#define MAXN 100000+10
using namespace std;int f[MAXN];
struct road{int x,y,t;
}a[MAXN];int findfather(int x)
{if(f[x]==x) return x;else return findfather(f[x]);
}bool cmp(road a,road b)
{return a.t<b.t;
}int main()
{int N,M;cin>>N>>M;int i,j;int ans=0,total=0;for(i=1;i<=N;++i)f[i]=i;for(i=1;i<=M;++i)cin>>a[i].x>>a[i].y>>a[i].t;sort(a+1,a+1+M,cmp);for(i=1;i<=M;++i){if(findfather(a[i].x)!=findfather(a[i].y)){f[findfather(a[i].x)]=findfather(a[i].y);ans=a[i].t;total++;}}if(total!=N-1)ans=-1;cout<<ans;return 0;
}
P1195 口袋的天空
题目链接:口袋的天空 - 洛谷
题解:https://www.luogu.com.cn/blog/ravenclawyangrunze/solution-p1195
#include<iostream>
#include<algorithm>
#define MAXN1 1000+10
#define MAXN2 10000+10
using namespace std;int f[MAXN1],N,M;
int sum=0,cnt=0; //最小费用和边数
struct cloud
{int X,Y,L;
}a[MAXN2];//查
int findfather(int x)
{if(x!=f[x])f[x]=findfather(f[x]);return f[x];
}//排序规则
bool cmp(cloud a,cloud b)
{return a.L<b.L;
}
int main()
{int K;cin>>N>>M>>K;int i;for(i=1;i<=M;++i)cin>>a[i].X>>a[i].Y>>a[i].L;//排序sort(a+1,a+1+M,cmp);//初始化祖先for(i=1;i<=N;++i)f[i]=i;for(i=1;i<=M;++i){if(findfather(a[i].X)!=findfather(a[i].Y)){f[findfather(a[i].X)]=findfather(a[i].Y);sum+=a[i].L;cnt++;}if(cnt>=N-K)break;}if(cnt>=N-K)cout<<sum<<endl;else cout<<"No Answer"<<endl;return 0;
}
P1111 修复公路P1195 口袋的天空相关推荐
- 【P1195 口袋的天空】
P1195 口袋的天空 口袋的天空 题目背景 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 题意及分析 放代码 口袋的天空 题目背景 小杉坐在教室里,透过口袋一样的窗 ...
- P1195 口袋的天空-Kruskal(优先队列+并查集)
口袋的天空 题目背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. 题目描述 给你云朵的个数 N N N,再给你 M M ...
- 洛谷 P1111 修复公路(最小生成树)
嗯... 题目链接:https://www.luogu.org/problemnew/show/P1111 这道题的关键是读懂题: 首先根据题中的一些扎眼的字眼我们可以判断这是一道用最小生成树来做的题 ...
- P1111 修复公路(并查集)
https://www.luogu.org/problem/P1111 题目背景 AA地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数NN ...
- P1111 修复公路
题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车. 政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的. 并告诉你每条公路的连着哪两个村庄,并告诉你什 ...
- P1111 修复公路 (prim)
题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...
- 【洛谷】P1111 修复公路
题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...
- [LUOGU] P1111 修复公路
题目背景A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路.题目描述给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修 ...
- 洛谷 - P1111 - 修复公路 - 并查集
https://www.luogu.org/problemnew/solution/P1111 并查集的水题,水题都错了好多发. 首先并不是有环就退出,而是连通分支为1才退出,每次合并成功连通分支才会 ...
最新文章
- 程序员老司机“随意开车”,恶搞代码让你分分钟玩死程序员!
- 中国交通标志识别,德国交通标志识别
- 连接LilyPad之Linux平台的驱动
- python constructor_python – 无法成功启动boa-constructor
- 海康/大华 IpCamera RTSP地址和格式
- Apache的配置详解
- Tomcat启动报错整理
- /etc/services
- 1603 限高二叉排列树(计数DP)
- 计算机网络 HTTP工作机制 TCP三次握手四次挥手 TCP滑动窗口
- spark BlockManager如何实现Broadcast广播
- 使用ASP.NET Core开始使用gRPC客户端和服务器
- mt4软件较稳定的交易商服务器地址,外汇MetaTrader 4 常见交易商服务器ip地址汇总...
- 一本名不符实的.NET书籍: Game Engine Toolset Development
- React:react-router
- 基于51单片机病床呼叫系统proteus仿真设计(protues仿真+源码+报告)
- C4D中英文对照—材质编辑器之反射通道
- 计算机国培目标与计划,2018国培个人研修计划
- 独立开发者:我为什么要学游戏编程?
- 写得太好了,大约《越狱》批评(发布)
热门文章
- 从稻农成长为技术领导者
- 前端开发工程师如何在2013年里提升自己【转】--2016已更新升级很多何去何从?...
- 用python做股票量化分析豆瓣_[转]构建基于R的交易系统(5)quantstrat包(中)(来源:豆瓣-数据铺子)...
- 解决 yarn install报错node-sass: Command failed/使用nvm use出现status 145:the directory is not empty
- 职业经理人管理素养提升课程
- Craigslist :一个神奇的网站
- Eclipse红叉报错
- 食堂老板给北大教授上的MBA课
- 拨开发展迷雾,将“智慧”嵌入全业务场景【2022戴尔科技峰会预告】
- vs code + mingw64配置C语言环境