[bzoj1050 HAOI2006] 旅行comf (kruskal)

传送门

Description

给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求
一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE”,否则输出这个
比值,如果需要,表示成一个既约分数。 备注: 两个顶点之间可能有多条路径。

Input

第一行包含两个正整数,N和M。下来的M行每行包含三个正整数:x,y和v。表示景点x到景点y之间有一条双向公路
,车辆必须以速度v在该公路上行驶。最后一行包含两个正整数s,t,表示想知道从景点s到景点t最大最小速度比
最小的路径。s和t不可能相同。
1<N<=500,1<=x,y<=N,0<v<30000,0<M<=5000

Output

如果景点s到景点t没有路径,输出“IMPOSSIBLE”。否则输出一个数,表示最小的速度比。
如果需要,输出一个既约分数。

Sample Input

【样例输入1】

4 2

1 2 1

3 4 2

1 4

【样例输入2】

3 3

1 2 10

1 2 5

2 3 8

1 3

【样例输入3】

3 2

1 2 2

2 3 4

1 3

Sample Output

【样例输出1】

IMPOSSIBLE

【样例输出2】

5/4

【样例输出3】

2

Solution

没什么明显的提示qwq
题目是要找两条符合条件边求比值,发现m是5000的可以先枚举其中一条边再\(O(m)\)地找另一条边就能行
这个题是要在s和t联通的情况下,找到最小比值,那么如果确定一条最小边,只需要找到最大边最小的的方案使st连通其中的最大边就是当前情况的最优边
于是就想到了kruskal的方法,直接套上去发现所有要求就都满足了ヽ( ̄▽ ̄)ノ

Code

//By Menteur_Hxy
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define F(i,a,b) for(register int i=(a);i<=(b);i++)
using namespace std;int read() {int x=0,f=1; char c=getchar();while(!isdigit(c)) {if(c=='-')f=-f; c=getchar();}while(isdigit(c)) x=(x<<1)+(x<<3)+c-48,c=getchar();return x*f;
}const int N=510,M=5010;
int n,m,s,t,amx,ami;
int fa[N];
double ans=2333333333.0;
struct eds{int fr,to,w;}ed[M];int gcd(int a,int b) {return !b?a:gcd(b,a%b);}
int getf(int x) {return fa[x]==x?x:fa[x]=getf(fa[x]);}
bool cmp(eds x,eds y) {return x.w<y.w;}int main() {n=read(),m=read();F(i,1,m) {int a=read(),b=read(),c=read();ed[i]=(eds){a,b,c};}s=read(),t=read();sort(ed+1,ed+1+m,cmp);
//  cout<<endl;F(i,1,m) {F(j,1,n) fa[j]=j;int mi=ed[i].w;F(j,i,m) {int fu=getf(ed[j].fr),fv=getf(ed[j].to);
//          cout<<fu<<" "<<fv<<endl;if(fu!=fv) fa[fu]=fv;
//          cout<<getf(s)<<" "<<getf(t)<<endl;
//          cout<<endl;if(getf(s)==getf(t)) {int mx=ed[j].w;double res=(double)mx/mi;
//              cout<<res<<endl;if(res<ans) amx=mx,ami=mi,ans=res;break;}}}if(ans==2333333333.0) puts("IMPOSSIBLE");else if(amx%ami==0) printf("%d",amx/ami);else {int d=gcd(amx,ami);printf("%d/%d",amx/d,ami/d);}return 0;
}

转载于:https://www.cnblogs.com/Menteur-Hxy/p/9371979.html

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

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

相关文章

好程序员技术文档HTML5开发中的javascript闭包

好程序员技术文档HTML5开发中的javascript闭包&#xff0c;事实上&#xff0c;通过使用闭包&#xff0c;我们可以做很多事情。比如模拟面向对象的代码风格;更优雅&#xff0c;更简洁的表达出代码;在某些方面提升代码的执行效率&#xff0c;同时避免对命名空间的污染&#xff0c…

亚马逊echo中国使用_如何使用亚马逊的主要照片备份所有照片

亚马逊echo中国使用Millions of people are Amazon Prime subscribers, but many of them don’t realize that in addition to free shipping and Prime Instant Video, they also get unlimited photo storage for all their computers and mobile devices. 数以百万计的人是…

抽象SQL查询:SQL-MAP技术的使用

什么是参数化查询&#xff1f;我们来看百度百科对此的定义和示例&#xff1a; 一&#xff0c;定义 ------------------------------------------------------------------ 参数化查询&#xff08;Parameterized Query 或 Parameterized Statement&#xff09;是指在设计与数据库…

EF ORM

//新增UserInfo userInfo new UserInfo();userInfo.UserName "YANG";userInfo.UserPass "123";userInfo.Email "253qq.com";userInfo.RegTime System.DateTime.Now;Model1Container db new Model1Container();db.UserInfoSet.Add(userInfo…

如何使用echo.js实现图片的懒加载(整理)

如何使用echo.js实现图片的懒加载&#xff08;整理&#xff09; 一、总结 一句话总结&#xff1a;a、在img标签中添加data-echo属性加载真实图片&#xff1a;<img class"loading" src"blank.gif" data-echo"图片真实路径" />&#xff0c;在…

还原出厂设置 擦除frp_如何备份,擦除和还原Apple Watch

还原出厂设置 擦除frpThe Apple Watch is, in its own right, a little tiny computer with data backup and security needs. Read on as we show you how to ensure your Apple Watch is backed up, wiped, and restored just like you’d do with your smartphone. Apple Wa…

exchange 2010 search mailbox 的幕后强大功能

铃……….半夜中被一阵急促的手机铃声吵醒&#xff0c;年度服务客户打来电话需要进行邮件的排查和删除工作。问其原因&#xff0c;原来是组织中有人发了一封关于领导的不健康的邮件&#xff0c;并在企业内部进行了转发&#xff0c;领导要求立即找出此类邮件并进行删除。管理员深…

Apache HBase的现状和发展

一、&#xff28;Base是什么 HBase(Hadoop Database)&#xff0c;是一个基于Google BigTable论文设计的高可靠性、高性能、可伸缩的分布式存储系统。 它有以下特征&#xff1a; 1.HBase仍然是采用行存储的&#xff0c;采用松散表的结构来获得动态列的功能&#xff1b; 2.原生海…

Java的接口、继承与多态

接口 java只支持单继承&#xff0c;即一个类只能有一个父类&#xff0c;因此需要接口来实现多重继承。 接口的定义 类和接口的区别&#xff1a;一个类通过继承接口的方式&#xff0c;从而来继承接口的抽象方法。类描述对象的属性和方法&#xff0c;接口则包含类要实现的方法。 …

dvd刻录软件_如何在Windows 7中刻录照片和视频DVD(无需额外的软件)

dvd刻录软件Software like DVD Flick is great for burning video to DVDs, but Windows 7 actually includes built-in DVD burning software. Strangely, it’s the last time the company did so—while Windows 8 and Windows 10 can play back DVD movies, they can’t cr…

如何实现office不同语言界面切换

前面我讨论了《如何实现win7不同语言界面切换》&#xff0c;很巧今天又有网友问到如何实现 office的语言界面切换呢。嘿&#xff0c;那我们就继续来玩转界面吧。 office2007和office2010也支持轻松的进行语言界面切换&#xff0c;操作步骤也很简单。 Office 语言界面包 (LIP) 是…

Mysql-高可用集群[MyCat中间件使用](三)

服务器-节点: 4台 mysql-主: 192.168.2.40mysql-从-node-0: 192.168.2.41mysql-从-node-1: 192.168.2.42mycat: 192.168.2.45操作过程 1.搭建mysql主从节点2.搭建mycat中间件节点3.mycat服务配置4.测试读写分离,读的分发1.搭建mysql主从节点 Mysql-高可用集群主从单一模式-binl…

yum安装mysql5.6

1.检查系统是否安装其他版本的MYSQL数据 yum list installed | grep mysql yum -y remove mysql-libs.x86_64 2.安装及配置 wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm rpm -ivh mysql-community-release-el6-5.noarch.rpm yum repolist all | grep…

离开互联网行业_如何使用互联网再也不会离开家

离开互联网行业Thanks to the Internet, activities like “going outside” or “being a productive member of the community” are becoming increasingly optional parts of daily life. When your inner hermit feels like putting on his vampire cape, simple tricks l…

iOS 11开发教程(十三)iOS11应用编辑界面添加视图

iOS 11开发教程&#xff08;十三&#xff09;iOS11应用编辑界面添加视图 在iOS中添加视图的方式有两种&#xff1a;一种是使用编辑界面添加视图&#xff1b;另一种是使用代码添加视图。以下是这两个方式的详细介绍。 1.编辑界面添加视图 使用编辑界面添加视图是一个相当简单的工…

限流算法(记录cyc大佬的专栏)

限流的必要性 如果一段时间内请求的数量过大&#xff0c;就会给服务器造成很大压力&#xff0c;可能导致服务器无法提供其它服务。 计数器算法 通过一个计数器 counter 来统计一段时间内请求的数量&#xff0c;并且在指定的时间之后重置计数器。该方法实现简单&#xff0c;但是…

bzoj 1024 [ SCOI 2009 ] 生日快乐 —— 递归

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id1024 因为每次把一块切成两块&#xff0c;所以可以枚举从哪里切开&#xff0c;然后递归求解&#xff1b; 一开始用了不太对的贪心思路&#xff0c;想着一定去切较长边&#xff0c;但看来不一定。 代码如下&a…

HBase存储剖析与数据迁移

1.概述 HBase的存储结构和关系型数据库不一样&#xff0c;HBase面向半结构化数据进行存储。所以&#xff0c;对于结构化的SQL语言查询&#xff0c;HBase自身并没有接口支持。在大数据应用中&#xff0c;虽然也有SQL查询引擎可以查询HBase&#xff0c;比如Phoenix、Drill这类。但…

windows os x_如何立即在OS X上获取Windows样式的窗口捕捉

windows os xApple’s recent announcement that the upcoming OS X release (El Capitan or 10.11) will finally, at long last, come with the ability to snap windows to your screen edges. A feature Windows users have enjoyed since 2009. 苹果公司最近宣布即将发布的…

Install Odoo 11 on CentOS 7

2019独角兽企业重金招聘Python工程师标准>>> Odoo is the most popular all-in-one business software in the world. It offers a range of business applications including CRM, website, e-Commerce, billing, accounting, manufacturing, warehouse, project m…