ssl1312ZP2502-[HAOI2006]旅行【图论,并查集】

正题

题目链接:
https://www.luogu.org/problemnew/show/P2502


大意

有n个旅游景点,m条路,每条路有个限速,要求求一个点到另一个点的最大速度和最小速度的比最小。输出这个比。


解题思路

把边排序一遍,然后枚举起始边,并查集连续,知道两个点先连为止。然后求最大速度和最小速度。


代码

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,father[501],s,e,mm,sl,fa;
double mins;
struct line{int x,y,w;
}a[5001];
int find(int x)
{if (x!=father[x]) return father[x]=find(father[x]);else return father[x];
}//找祖先
int unionn(int x,int y)
{int fa=find(x),fb=find(y);if (fa<fb) {father[fb]=fa;}else father[fa]=fb;
}//连接祖先
bool cmp(line x,line y)
{return x.w<y.w;
}//排序用
int main()
{scanf("%d%d",&n,&mm);s=0;for (int i=1;i<=mm;i++){m++;scanf("%d%d%d",&a[m].x,&a[m].y,&a[m].w);}scanf("%d%d",&s,&e);sort(a+1,a+1+m,cmp);//排序mins=2147483647;for (int i=1;i<=m;i++)//枚举起始边{for (int j=1;j<=n;j++) father[j]=j;int k=i;int flag=false;while(true){if (k>m) break;unionn(a[k].x,a[k].y);//连接两点if (find(s)==find(e))//如果两点相连{flag=true;break;}k++;}if (flag) {if (double(a[k].w)/double(a[i].w)<mins){mins=double(a[k].w)/double(a[i].w);sl=a[i].w;fa=a[k].w;//记录}}}if (mins!=2147483647){if (fa%sl==0) printf("%d",fa/sl);else printf("%d/%d",fa/__gcd(fa,sl),sl/__gcd(fa,sl));}else printf("IMPOSSIBLE");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漫画:什么是计数排序

转载自 漫画&#xff1a;什么是计数排序 假定20个随机整数的值如下&#xff1a; 9&#xff0c;3&#xff0c;5&#xff0c;4&#xff0c;9&#xff0c;1&#xff0c;2&#xff0c;7&#xff0c;8&#xff0c;1&#xff0c;3&#xff0c;6&#xff0c;5&#xff0c;3&#xf…

Office365开发系列——开发一个全功能的Word Add-In

2016年10月我参加了在北京举行的DevDays Asia 2016 - Office 365应用开发”48小时黑客马拉松“&#xff0c;我开发的一个Word Add-In Demo——WordTemplateHelper获得了二等奖。在会场有幸结识了陈希章老师&#xff0c;在与陈老师的交流中受益良多&#xff0c;得知陈老师在准备…

秒懂python的深浅copy

dict , list ,set , s {name:alex....} s2 s , 此时s2和s是共享 同一份数据 的&#xff0c;copy一份新数据 , 浅copy, 只copy第一层 s2 s.copy() 深copy s4 copy.deepcopy(s)浅拷贝 深拷贝

SpringBoot整合Shiro实现登录认证和授权CHCache

文章目录一、 springboot实现普通登录1 添加依赖2 编写配置文件3 新建实体类和mapper4 编写业务层代码5 编写控制器6 编写启动类7 编写登录页面和主页面二、 springboot整合shiro实现登录认证和凭证匹配1 添加依赖2 自定义Realm3 编写配置4 userService新增单元方法&#xff1a…

java中如何对对象排序?

大家好&#xff0c;我是雄雄。前言&#xff1a;我们知道&#xff0c;在平时做项目的过程中&#xff0c;我们总会用到各种各样的排序&#xff0c;或是升序&#xff0c;或是降序。在java中&#xff0c;要实现排序有好多中方式&#xff0c;比如我们耳熟能详的冒泡排序、选择排序等…

P1196 ssl1225-银河英雄传说【图论,并查集】

正题 题目链接&#xff1a; https://www.luogu.org/problemnew/show/P1196 大意 有30000列和30000个飞船&#xff0c;开始时i号飞船在i列上。有两种操作&#xff1a; &#xff08;1&#xff09;将x所在的列上的所有飞船连接在y号飞船所在的列上 &#xff08;2&#xff09;…

Java程序员必看的 13 本 Java 书籍

转载自 Java程序员必看的 13 本 Java 书籍 关乎于程序员&#xff0c;除了做项目来提高自身的技术&#xff0c;还有一种提升自己的专业技能就是&#xff1a;多&#xff01;看&#xff01;书&#xff01; 毕竟&#xff0c;书是学习的海洋呢&#xff01;So&#xff0c;Java程序…

python常见内置函数

abs # 求绝对值 all #Return True if bool(x) is True for all values x in the iterable.If the iterable is empty, return True. any #Return True if bool(x) is True for any x in the iterable.If the iterable is empty, return False. ascii #Return an ASCII-on…

祝你生日快乐!

祝生日快乐今天&#xff0c;于我来说是个特别的日子。本来&#xff0c;我是比较低调的&#xff0c;尤其是对于生日来说&#xff0c;可以说是这些年都没有好好的过过&#xff0c;要么忘记了&#xff0c;要么就是在异国他乡的&#xff0c;谁都不识&#xff0c;这一天和往常的一天…

P1892-团伙【图论,并查集】

正题 题目链接&#xff1a; https://www.luogu.org/problemnew/show/P1892 大意 两个人如果认识就只有两种关系&#xff0c;敌人或朋友 而&#xff1a; 朋友的朋友是朋友 敌人的敌人是朋友 &#xff08;敌人之间也可能是敌人&#xff09; 求团伙总数 解题思路 就像做食…

.NET Exceptionless 日志收集框架本地环境搭建

一、简介 Exceptionless 是一个开源的实时的日志收集框架&#xff0c;它可以应用在基于 ASP.NET&#xff0c;ASP.NET Core&#xff0c;Web Api&#xff0c;Web Forms&#xff0c;WPF&#xff0c;Console&#xff0c;MVC 等技术栈的应用程序中&#xff0c;并且提供了Rest接口可以…

Redis 常用操作命令,非常详细

转载自 Redis 常用操作命令&#xff0c;非常详细 下面总结并演示了 Redis 的 常用管理命令、key 操作、字符串、集合、列表、散列类型的操作命令。 你需要掌握的 Redis 知识 史上最全 Redis 高可用解决方案总结 为什么分布式一定要有Redis? Spring Boot Redis Cluster 实…

java中如何对汉字进行排序?

前言&#xff1a;上一篇文章我们讲解了java中实现Comparator进行排序 和实现Comparable进行排序&#xff0c;我们分别举例根据学号和姓名降序排序&#xff0c;原文在这里&#xff1a;java中如何对对象排序&#xff1f; &#xff0c;不过在文章的最后&#xff0c;我故意留了个问…

Blazor将.NET带回到浏览器

由Steve Sanderson开发的Blazor尝试使用WebAssembly和DotNetAnywhere将.NET带回到浏览器。它不是要成为一个像Flash或Silverlight那样的完整生产框架&#xff0c;而是要探索一下有什么可能性。 WebAssembly将自己描述成一个“内存安全的沙箱执行环境”标准&#xff0c;它“甚至…

ssl2342-打击犯罪【并查集】

正题 大意 有n个犯罪团伙&#xff0c;他们之间可以相互联系&#xff0c;按照1到n的顺序打击&#xff0c;求最少打击多少个犯罪团伙可以使多个犯罪团伙组成的已经无法与外联系的团伙最大的那个不超过n/2。 解题思路 先储存每条连接的路径&#xff0c;然后从n枚举到1&#xff0…

Java 必须掌握的 12 种 Spring 常用注解

转载自 Java 必须掌握的 12 种 Spring 常用注解 1.声明bean的注解 Component 组件&#xff0c;没有明确的角色 Service 在业务逻辑层使用&#xff08;service层&#xff09; Repository 在数据访问层使用&#xff08;dao层&#xff09; Controller 在展现层使用&#xff…

过滤器和监听器

文章目录01 过滤器的简介02 使用过滤器进行乱码解决03 使用过滤器进行登陆的控制04 过滤器更多内容05 监听器实现日志记录06 监听器实现在线人数的统计07 其他监听器使用01 过滤器的简介 为什么使用过滤器&#xff1f; 我们目前书写项目中遇到的问题&#xff1f; A、目前使用的…

高启航:秋运会!

本文原创&#xff1a;高启航&#xff08;本文所有收益均归高启航所有&#xff09;在十月份的二十一号&#xff0c;我们济南信息工程学校迎来了一年一度的秋季运动会。这次秋运会&#xff0c;每一个班级所准备的开幕式、训练已久的千人武术大展演、以及在运动会上表现优越的运动…

用python画出吉祥物

大前提 你需要一个"npy" 效果图 源码 # 库的导入 import turtleturtle.title(PythonBingDwenDwen&#xff08;axing&#xff09;) #这里的字我们可以自己进行修改turtle.speed(10) # 速度&#xff0c;如果觉得20快了&#xff0c;你们可以设置10# 左手 turtle.p…