P2330 [SCOI2005] 繁忙的都市 (最小生成树)
测试链接:https://www.luogu.com.cn/problem/P2330
结论
最小生成树一定是最小瓶颈树
题解
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
typedef long long ll;
struct edge
{
int u,v,w;
}edges[N];
int n,m;
int father[1000];
bool cmp(edge a,edge b)
{
return a.w<b.w;
}
void init()
{
for(int i=1;i<=n;i++)father[i]=i;
}
int find(int x)
{
return x==father[x]?x:father[x]=find(father[x]);
}
bool join(int x,int y)
{
int fx = find(x);
int fy = find(y);
// cout<<fx<<' '<<fy<<endl;
if(fx!=fy)
{
father[fx]=fy;
return true;
}
else return false;
}
int ans = -1;
int cnt=0;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
init();
for(int i=0;i<m;i++)
{
cin>>edges[i].u>>edges[i].v>>edges[i].w;
}
sort(edges,edges+m,cmp);
// for(int i=0;i<m;i++)cout<<edges[i].w<<' ';
for(int i=0;i<m;i++)
{
if(join(edges[i].u,edges[i].v))
{
// cout<<edges[i].u<<' '<<edges[i].v<<endl;
cnt++;
ans = max(ans,edges[i].w);
}
}
cout<<cnt<<' '<<ans<<endl;
return 0;
}
P2330 [SCOI2005] 繁忙的都市 (最小生成树)的更多相关文章
- 洛谷—— P2330 [SCOI2005]繁忙的都市
P2330 [SCOI2005]繁忙的都市 题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路 ...
- Bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)
Bzoj 1083: [SCOI2005]繁忙的都市 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1083 此题是最小瓶颈生成树的裸题. ...
- 洛谷P2330 [SCOI2005]繁忙的都市——kruskal
给一手链接 https://www.luogu.com.cn/problem/P2330 这道题实质就是最小生成树 TIPS:最小生成树不仅是整体权值最小,也是最大边最小 #include<cs ...
- 洛谷 P2330 [SCOI2005]繁忙的都市(最小生成树)
嗯... 题目链接:https://www.luogu.org/problemnew/show/P2330 这道题的问法也实在是太模板了吧: 1.改造的道路越少越好 2.能够把所有的交叉路口直接或间接 ...
- 洛谷 P2330 [SCOI2005]繁忙的都市
题目链接 https://www.luogu.org/problemnew/show/P2330 题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市 ...
- 洛谷 P2330 [SCOI2005]繁忙的都市 题解
START: 2021-08-05 15:30:20 题目链接: https://www.luogu.com.cn/problem/P2330 题目详情: 城市C是一个非常繁忙的大都市,城市中的道路十 ...
- [LUOGU] P2330 [SCOI2005]繁忙的都市
题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条 ...
- bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1083 思路:连接所有点,肯定最少是需要n-1条边的,也就是写个最小生成树,记得保存下最大的权 ...
- [SCOI2005]繁忙的都市 (最小生成树)
题目链接 Solution 裸的最小生成树. Code #include<bits/stdc++.h> using namespace std; const int maxn=500008 ...
- [BZOJ1083][SCOI2005]繁忙的都市 最小生成树
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1083 由kruskal算法原理可知,我们对一张无向图做普通的最小生成树,连上的最后一条边就 ...
随机推荐
- python正则表达式中re.M,re.S,re.I的作用
参考:https://www.cnblogs.com/feifeifeisir/p/10627474.html 正则表达式可以包含一些可选标志修饰符来控制匹配的模式.修饰符被指定为一个可选的标志.多个 ...
- AD 横向移动-TGS-REP Kerberoasting 攻击
本文通过 Google 翻译 AD Escalation – Kerberoasting Attacks 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充. 导航 0 前 ...
- AtCoder Beginner Contest 369 补题记录
A - 369 题意: 给定A和B,求有多少个x可以和A,B构成等差数列 思路: 分三种情况讨论 A == B 则x不得不与A和B想等 x位于A和B中间 只有B - A 为偶数才有这种情况存在 x位于 ...
- @FeignClient注解配置局部超时时间、OkHttp长连接和SocketTimeoutException异常解决办法
问题描述:open feign配置OKhttp调用远程API,连续调用次数较少时,一切正常,次数非常多时(例如,连续请求600次)就抛出java.net.SocketTimeoutException: ...
- C# Task 取消执行的简单封装
我让DeepSeek帮我写了一段使用 CancellationTokenSource 取消任务的简单示例如下: 取消任务的简单示例 using System.Threading.Tasks; usin ...
- android input
通常,从EditText中获取字符串很简单: EditText text = findViewById(R.id.textName); String name = text.getText ...
- C# 调用 WebServices Api接口 WSDL 通过WebResponse 请求
https://www.cnblogs.com/Sheldon180621/p/14498646.html 方法一.引用*.wsdl文件 WebService服务端会提供wsdl文件,客户端通过该文件 ...
- Hadoop:Yarn设计原理
一.Yarn基本架构 YARN主要由ResourceManager.NodeManager.ApplicationMaster和Container组成,之间通过RPC通讯 1.ResourceMana ...
- vue3使用composables来取代mixins 来状态复用
前言 最简单理解composables的方式 就是将其视为vue版的自定义hooks 来个demo 比如 页面初始化的时候 我需要请求接口 获取数据 并回填至表单 以前的做法 src/pages/in ...
- 前端开发系列131-进阶篇之Promise源码实现
本文介绍参考[PromiseA+]规范来实现一个符合规范的Promise库. 上面是ES6+实现的Promise核心方法,其整体结构也可以通过下面的打印查看 /* 01-打印Promise类的内容(静 ...