L - 还是畅通工程

题目链接:https://vjudge.net/contest/66965#problem/L

题目:

某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。

Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。
Output对每个测试用例,在1行里输出最小的公路总长度。
Sample Input

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

Sample Output

3
5Huge input, scanf is recommended.

Hint

Hint思路:注意输入的T*(T-1)/2,然后跑最小生成树就行

//
// Created by hanyu on 2019/8/2.
//
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <set>
#include<math.h>
using namespace std;
typedef long long ll;
const int maxn=2e6+7;
int father[maxn];
struct Node{int u,v,w;bool operator<(const Node &other)const{return this->w<other.w;}
}node[maxn];
int find(int x)
{if(x==father[x])return x;return father[x]=find(father[x]);
}
int main()
{int T;while(~scanf("%d",&T)&&T){for(int i=0;i<=T;i++)father[i]=i;int ans=0,cnt=0;int kk=T*(T-1)/2;for(int i=0;i<kk;i++){scanf("%d%d%d",&node[i].u,&node[i].v,&node[i].w);}sort(node,node+kk);for(int i=0;i<kk;i++){int uu=find(node[i].u);int vv=find(node[i].v);if(uu==vv)continue;else{father[uu]=vv;ans+=node[i].w;cnt++;if(cnt==T-1)break;}}printf("%d\n",ans);}return 0;
}

 

转载于:https://www.cnblogs.com/Vampire6/p/11288756.html

[kuangbin带你飞]专题六 最小生成树 L - 还是畅通工程 (简单最小生成树)相关推荐

  1. [kuangbin带你飞]专题六-生成最小树

    先简单说一下,生成最小树一般常用两种算法,一种是prim另一种是kruskal,两种算法也各有利弊,比如说prim编程比较复杂一些而kruskal编程则相对容易一些,但是时间复杂度却差了些. prim ...

  2. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  3. [kuangbin带你飞]专题十二 基础DP1 题解+总结

    kuangbin带你飞:点击进入新世界 总结: 简单dp,最近在做,持续更新. 文章目录 总结: 1.Max Sum Plus Plus 2.Ignatius and the Princess IV ...

  4. (2021-07-14~)“kuangbin带你飞”专题计划——专题十三:基础计算几何

    目录 前言 参考博客 自己总结的东西: 难度判断? 题目 1.[TOYS POJ - 2318 ](解决) 2.[Toy Storage POJ - 2398 ](解决) 3.[Segments PO ...

  5. “kuangbin带你飞”专题计划——专题十四:数论基础

    写在前面 1.目前还没啥写的.开始时间:2021-05-13(其实博客上看得到该博客创建时间的) 2.上一个专题刷的是网络流(博客总结),属于第一次接触.本来想的是一周特别高效,然后一周略划水,结果是 ...

  6. kuangbin带你飞 专题1-23 题单

    kuangbin大神,对于打过ACM比赛的ACMer,无人不知无人不晓. 在此,附上vjudge平台上一位大神整理的[kuangbin带你飞]专题目录链接. [kuangbin带你飞专题目录1-23] ...

  7. [kuangbin带你飞]专题五 并查集 题解+总结

    kuangbin带你飞:点击进入新世界 总结: 本人算是初学者中的初学者,欢迎交流~ 并查集的接触过的不多,大概只有普通并查集,带权并查集,种族并查集,传说中的可持续化并查集只是听说过还没有接触,不过 ...

  8. [kuangbin带你飞]专题一 做题顺序与题解 【简单搜索】

    随便说点: 博主正在刷kuangbin专题的题目,初学者,没接触过什么算法,刷题的初衷是备战蓝桥杯,后来发现了算法资料大多是针对acm的,挑选kuangbin专题入门也是如此,毕竟这样分类看起来比较有 ...

  9. [kuangbin带你飞]专题1

    专题一 简单搜索 POJ 1321 棋盘问题 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大 ...

最新文章

  1. mysql update时数据不存在新增_mysql sql语句新增判断,存在修改,不存在新增
  2. 【仿去哪儿】滑动隐藏导航栏
  3. Java数据结构与算法——树(基本概念,很重要)
  4. Oracle递归操作
  5. 2017华南理工华为杯D bx回文
  6. [Offer收割]编程练习赛15 A.偶像的条件[贪心]
  7. Java判断整数和浮点数
  8. 今天的你死那去了的飞秋
  9. 2018-2019-1 20189218《Linux内核原理与分析》第九周作业
  10. pache tomcat慢速HTTP拒绝服务攻击安全问题解决办法
  11. ArcGIS水文分析实战教程(6)河流提取与河网分级
  12. Django面试题汇总
  13. 谈谈多源数据融合-科普基本概念篇
  14. 51单片机自学笔记(一)——keil软件的使用
  15. yate怎样调出彩色的log日志实时调试信息
  16. win10声音输出设备选择声卡步骤
  17. 2020暨南大学计算机专硕考研经验分享
  18. Wireshark抓取VLAN包
  19. 尝试解析DDS格式纹理文件的基本信息(不包括图像数据)
  20. cad计算机快捷键设置,小U讲解完整版电脑CAD快捷键大全

热门文章

  1. 转 小辉_Ray CORS(跨域资源共享)
  2. erlang的tcp服务器模板
  3. UVA 10714 - Ants
  4. ecos 编译时无法找到 tclConfig.sh 和 tkConfig.sh
  5. linux内核rcu锁实例,Linux Rcu到底有没有锁?
  6. 税友报税软件让修改服务器地址,税友报税软件让修改服务器地址
  7. python画图程序飞机_Python海龟画图工具绘制叮当猫程序
  8. 获取this_小程序获取微信运动步数并集成echarts报表显示
  9. arnold如何设置鱼眼相机_华为相机实用技巧——如何调整相机设置?(2)
  10. redis mysql 集群_mysql_redis