Luogu P2330 繁忙的都市

裸的最小生成树。

当然,一定要注意它让你输出什么。

#include<bits/stdc++.h>
#define N 100010 using namespace std; int n,m,cnt,s,mmax;
int fa[N]; struct node {
int frm,to,w;
}e[N]; void addEdge(int u,int v,int w) {
e[++cnt]=(node){u,v,w};
return;
} void Read() {
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++) {
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
addEdge(u,v,w);
}
return;
} bool cmp(node a,node b) {
return a.w<b.w;
} void Init() {
for(int i=1;i<=n;i++) {
fa[i]=i;
}
return;
} int Find(int x) {
return fa[x]==x?x:fa[x]=Find(fa[x]);
} bool Judge(int x,int y) {
if(Find(x)==Find(y)) {
return false;
}
else {
return true;
}
} void Merge(int x,int y) {
fa[Find(y)]=fa[Find(x)];
return;
} void Kruskal() {
sort(e+1,e+cnt+1,cmp);
for(int i=1;i<=cnt;i++) {
if(Judge(e[i].frm,e[i].to)) {
s++;
mmax=max(mmax,e[i].w);
Merge(e[i].frm,e[i].to);
}
if(s==n-1) {
break;
}
}
printf("%d %d",s,mmax);
return;
} int main()
{
Read();
Init();
Kruskal();
return 0;
}

Luogu P2330 繁忙的都市的更多相关文章

  1. 洛谷p2330繁忙的都市题解

    题面 根据题意来分析, 要求出你选了几条路, 最小生成树是能解的, 那么就直接输出n - 1条路即可, 至于最大值则走一遍最小生成树求出即可 这里提供最小生成树的两种方法 1. 克鲁斯卡尔 克鲁斯卡尔 ...

  2. luogu p2330[SCOI05] 繁忙的都市——瓶颈生成树

    P2330 05四川 繁忙的都市 题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道 ...

  3. 洛谷—— P2330 [SCOI2005]繁忙的都市

    P2330 [SCOI2005]繁忙的都市 题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路 ...

  4. BZOJ 1083: [SCOI2005]繁忙的都市 kruskal

    1083: [SCOI2005]繁忙的都市 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1083 Description 城市C是一个非 ...

  5. BZOJ 1083 [SCOI2005]繁忙的都市

    1083: [SCOI2005]繁忙的都市 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1664  Solved: 1080[Submit][Sta ...

  6. BZOJ 1083: [SCOI2005]繁忙的都市(MST)

    裸的最小生成树..直接跑就行了 ---------------------------------------------------------------------- #include<c ...

  7. 1083: [SCOI2005]繁忙的都市

    1083: [SCOI2005]繁忙的都市 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1319  Solved: 878[Submit][Stat ...

  8. BZOJ 1083: [SCOI2005]繁忙的都市【Kruscal最小生成树裸题】

    1083: [SCOI2005]繁忙的都市 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2925  Solved: 1927[Submit][Sta ...

  9. 【BZOJ1083】[SCOI2005]繁忙的都市(最小生成树)

    [BZOJ1083][SCOI2005]繁忙的都市(最小生成树) 题面 BZOJ 洛谷 题解 模板题. #include<iostream> #include<cstdio> ...

随机推荐

  1. 【Leetcode_easy】888. Fair Candy Swap

    problem 888. Fair Candy Swap solution: class Solution { public: vector<int> fairCandySwap(vect ...

  2. 【Leetcode_easy】849. Maximize Distance to Closest Person

    problem 849. Maximize Distance to Closest Person solution1: class Solution { public: int maxDistToCl ...

  3. elk问题汇总

    解决方案: https://blog.51cto.com/michaelkang/2298689?source=dra 使用postman.  PUT请求, JSON格式

  4. mysql存储过程demo

    #删除存储过程 -- drop procedure if exists add_test; CREATE PROCEDURE add_test() begin #定义变量 declare client ...

  5. [计算机视觉][ARM-Linux开发]OpenCV 3.1下载 ippicv_linux_20151201失败

    安装OpenCV 3.1的过程中要下载ippicv_linux_20151201,由于网络的原因,这个文件经常会下载失败. 解决的办法是手动下载: 先下载 OpenCV 3.1 Download MD ...

  6. js 次方 开方 对数

    次方 ,用Math.pow(值,次方数) 如: Math.pow(3,2);   3的平方 Math.Pow(2,3);   2的立方 开方Math.sqrt(值) 如: Math.sqrt(9);  ...

  7. laravel 运用.env部署多环境配置

    切换到laravel 入口文件bootstrap\app.php 在  return $app;  之上添加: $environmentPath = $app->environmentPath( ...

  8. 微信小程序之页面传值并且根据产品类别(主从关系)的赋值操作

    <view class="title"> <view class="titleName">{{cname}}</view> ...

  9. LeetCode 145. 二叉树的后序遍历(Binary Tree Postorder Traversal)

    145. 二叉树的后序遍历 145. Binary Tree Postorder Traversal 题目描述 给定一个二叉树,返回它的 后序 遍历. LeetCode145. Binary Tree ...

  10. Logstash配置安装

    logstash配置 http.host: xpack.monitoring.enabled: true xpack.monitoring.elasticsearch.username:"l ...