当前位置: 首页 > news >正文

[SCOI2005]繁忙的都市

[Time Gate]

https://www.luogu.org/problemnew/show/P2330

【解题思路】

与前几道题思路类似,就不过多赘述了

简单说明:

把交叉路口看做图中的点,道路为边,则可以从三个条件:

1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。

2.在满足要求1的情况下,改造的道路尽量少。

3.在满足要求1、2的情况下,改造的那些道路中分值最大的道路分值尽量小。

可得,本题是一个裸的最小生成树。

【code】

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4 using namespace std;
 5 int n,m,u,v,c,ans=-1<<30,cnt;
 6 int fa[50005];
 7 struct Node{
 8     int u;
 9     int v;
10     int c;
11 }a[50005];
12 inline int Find(int x){
13     if(fa[x]!=x)fa[x]=Find(fa[x]);
14     return fa[x];
15 }
16 inline void Union(int x,int y){
17     int f1,f2;
18     f1=Find(x),f2=Find(y);
19     if(f1!=f2)fa[f1]=f2;
20     return ;
21 }
22 inline bool cmp(const Node &a,const Node &b){
23     return a.c<b.c;
24 }
25 int main(){
26     //freopen("2330.in","r",stdin);
27     //freopen("2330.out","w",stdout);
28     scanf("%d%d",&n,&m);
29     for(register int i=1;i<=m;i++)
30         scanf("%d%d%d",&a[i].u,&a[i].v,&a[i].c);
31     for(register int i=1;i<=n;i++)
32         fa[i]=i;
33     sort(a+1,a+m+1,cmp);
34     for(register int i=1;i<=m;i++){
35         if(Find(a[i].u)!=Find(a[i].v)){
36             Union(a[i].u,a[i].v);
37             if(ans<a[i].c)ans=a[i].c;
38             cnt++;
39         }
40     }
41     printf("%d %d\n",cnt,ans);
42     return 0;
43 }

 

转载于:https://www.cnblogs.com/66dzb/p/11186583.html

相关文章:

  • 【0712作业】重写equals
  • 人脸识别(21)
  • (十) 初识 Docker file
  • 神经网络入门
  • CentOS7 环境下 在Hadoop集群安装Hive
  • AWD攻防工具脚本汇总(二)
  • idea maven Running C:\Users\Administrator\AppData\Local\Temp\archetype1tmp
  • JS中map()与forEach()的用法
  • C#实现Form窗口最大化(最小化)
  • 论文阅读 Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM...
  • 网络安全 简要记录
  • 【Linux】tar压缩解压缩笔记
  • Android App 实现分享功能及将应用加入分享列表 (分享功能可自定义需要分享的APP)...
  • 扩展C#与元编程
  • thinkphp session 跨域问题解决方案
  • 《深入 React 技术栈》
  • 77. Combinations
  • bootstrap创建登录注册页面
  • ES2017异步函数现已正式可用
  • javascript数组去重/查找/插入/删除
  • js数组之filter
  • Node + FFmpeg 实现Canvas动画导出视频
  • tensorflow学习笔记3——MNIST应用篇
  • Terraform入门 - 1. 安装Terraform
  • unity如何实现一个固定宽度的orthagraphic相机
  • 从PHP迁移至Golang - 基础篇
  • 关于Flux,Vuex,Redux的思考
  • 警报:线上事故之CountDownLatch的威力
  • 免费小说阅读小程序
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 盘点那些不知名却常用的 Git 操作
  • 人脸识别最新开发经验demo
  • 如何学习JavaEE,项目又该如何做?
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • postgresql行列转换函数
  • 阿里云ACE认证学习知识点梳理
  • 说说我为什么看好Spring Cloud Alibaba
  • #AngularJS#$sce.trustAsResourceUrl
  • #考研#计算机文化知识1(局域网及网络互联)
  • (+4)2.2UML建模图
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (LeetCode) T14. Longest Common Prefix
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (强烈推荐)移动端音视频从零到上手(上)
  • (四)JPA - JQPL 实现增删改查
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)JAVA中的堆栈
  • ******之网络***——物理***
  • .net CHARTING图表控件下载地址