这道题。。。一眼看出一个暴力思虑。。。那就是按照生成树。。。

排完序之后从当前边开始向后做生成树。。。

统计一下答案就好了。。。

结果。。。这就是正解。。。QVQ。。。smg。。。我去。。。

呆码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#define INF 99999999
#define MAXN 1010
#define unionn(x,y) fa[y]=x
#define eps 0.000001
using namespace std; int fa[MAXN],n,m,s,t,maxn,minx,ll=INF,rr=INF;
double ans=; struct asd{
int x,y,v;
} r[]; inline int find(int x)
{
if(fa[x]!=x) fa[x]=find(fa[x]);
return fa[x];
} inline bool cmp(asd x,asd y)
{
return x.v<y.v;
} inline int gcd(int a,int b)
{
return b== ? a : gcd(b,a%b);
} int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
scanf("%d%d%d",&r[i].x,&r[i].y,&r[i].v);
scanf("%d%d",&s,&t);
sort(r+,r++m,cmp); for(int i=;i<=m;i++)
{
for(int j=;j<=n;j++) fa[j]=j;
unionn(find(r[i].x),find(r[i].y));
minx=maxn=r[i].v;
if(find(s)==find(t))
{
double anss=ans;
ans=(double)maxn/minx;
if(ans-eps<anss-eps)
ll=maxn,rr=minx;
break;
}
for(int j=i+;j<=m;j++)
if(find(r[j].x)!=find(r[j].y))
{
unionn(find(r[j].x),find(r[j].y));
minx=min(minx,r[j].v);
maxn=max(maxn,r[j].v);
if(find(s)==find(t))
{
double anss=ans;
ans=(double)maxn/minx;
if(ans-eps<anss-eps)
ll=maxn,rr=minx;
else ans=anss;
break;
}
}
}
if(ll==INF) { printf("IMPOSSIBLE\n"); return ;}
if((double)ll/rr==ll/rr) printf("%d",ll/rr);
else
{
while(gcd(rr,ll)!=)
{
int mid=gcd(rr,ll);
ll/=mid; rr/=mid;
}
printf("%d/%d\n",ll,rr);
}
}

代码

不过细节比较多。。。要注意。。。

[HAOI2006]l旅行的更多相关文章

  1. 【BZOJ】【1050】【HAOI2006】旅行comf

    枚举/暴力/Kruskal orz……我sb了……其实是sb题<_< 有一道题问的是最小极差生成树……(不记得是什么名字了,就是求最大边权与最小边权差最小的生成树)做法是枚举最小边,然后k ...

  2. bzoj1050【HAOI2006】旅行comf

    1050: [HAOI2006]旅行comf Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2205  Solved: 1174 [Submit][ ...

  3. JavaWeb 后端 <二> 之 Servlet 学习笔记

    一.Servlet概述 1.什么是Servlet Servlet是一个运行在服务器端的Java小程序,通过HTTP协议用于接收来自客户端请求,并发出响应. 2.Servlet中的方法 public v ...

  4. HTML5 3D 粒子波浪动画特效DEMO演示

    需要thress.js插件:     http://github.com/mrdoob/three.js // three.js - http://github.com/mrdoob/three.js ...

  5. 1050: [HAOI2006]旅行comf

    1050: [HAOI2006]旅行comf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1495  Solved: 737[Submit][Sta ...

  6. P2502 [HAOI2006]旅行

    P2502 [HAOI2006]旅行有些问题光靠直觉是不靠谱的,必须有简单的证明,要么就考虑到所有情况.这个题我想的是要么见最小生成树,要么建最大生成树,哎,我sb了一种很简单的情况就能卡掉在最小生成 ...

  7. 【bzoj1050】[HAOI2006]旅行comf

    1050: [HAOI2006]旅行comf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2813  Solved: 1534[Submit][St ...

  8. BZOJ 1050: [HAOI2006]旅行comf(枚举+并查集)

    [HAOI2006]旅行comf Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点 ...

  9. BZOJ 1050 [HAOI2006]旅行comf

    1050: [HAOI2006]旅行comf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1889  Solved: 976[Submit][Sta ...

随机推荐

  1. Ruby 基础教程 第一部分总结

    第一部分:Ruby 初体验 第一章: Ruby 初探 前言 开头的这一章节讲了一些十分基础的内容,重要的几个话题有: ruby 命令的执行方法 对象.方法的概念 常见的打印方法 ruby 命令的执行方 ...

  2. c# zfc

    1.根据单个分隔字符用split截取 例如 复制代码代码如下: string st="GT123_1"; string[] sArray=st.split("_" ...

  3. blast | diamond 输出结果选择和解析 | 比对

    之前的文章:构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb 本地运行blast时,需要指定out fo ...

  4. 第十二周(MySort)

    注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实现.提交博客链 ...

  5. liunx系统部署

    Linux系统安装与基本配置 =======================================内容提要:获取Linux 常用发行版的方式DELL/HP/IBM 服务器介绍DELL/HP/ ...

  6. python模块--time & datetime

    time模块 #获取当前时间的时间戳 import time >>> time.time() 1535004894.0959966 #日期字符串转化成时间戳 >>> ...

  7. python基础之变量以及if语句

    1.变量 1.1定义:变量是一种介质,是将一些值暂时存储在内存中,方便后续程序调用.可将其看作容器但其内部的东西是可变化的. 1.2 变量的命名规则: 1.变量的命名只能由数字,字母,下划线构成. 2 ...

  8. Hybrid APP架构设计思路

    通讯 作为一种跨语言开发模式,通讯层是Hybrid架构首先应该考虑和设计的,往后所有的逻辑都是基于通讯层展开. Native(以Android为例)和H5通讯,基本原理: Android调用H5:通过 ...

  9. java使用线程设置定时任务

    private static int a=0; public static void main( String[] args ) { timer(); } public static void tim ...

  10. Oracle 聚合函数

    聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 此处采用Oracle 11g中其他用户SCOTT中的EMP表,进行演示. –COUNT:统计行数量 COUNT(*)统计的是结果集的 ...