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

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

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

结果。。。这就是正解。。。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. 掌握R语言中的apply函数族(转)

    转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...

  2. Android+Servlet+MySql+JSON实现简单的数据查询操作--C/S架构

    本例简单地实现Android客户端与服务器端交互,主要是通过客户端输入内容(学号)提交到服务器端,服务器端与数据库交互去查询相应信息(姓名).根据这个做个完整的安卓登录是没问题的.本例数据库服务器都采 ...

  3. LeetCode--400--第N个数字

    问题描述: 在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). ...

  4. hihocoder-1407 后缀数组二·重复旋律2 不重合 最少重复K次

    后缀数组不能直接通过Height得出不重合的公共串.我们可以二分k值,这样连续的Height只要都大于等于k,那他们互相间的k值都大于等于k.每个这样的连续区间查找SA的最大最小值,做差判断是否重合( ...

  5. Postman发包form-data、x-www-form-urlencoded、raw、binary的区别

    首先普及下http的Post四种Content-Type Postman中post编码方式form-data.x-www-form-urlencoded.raw.binary的区别 x-www-for ...

  6. hammer.js方法总结(只做了一个简单的demo)

    html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  7. 【洛谷p1258】小车问题

    (……吓人,心有余悸) 小车问题[传送门] 洛谷算法标签:: (行吧它居然是个二分[解方程的我抖抖发瑟]) 作为一个写了一页演草纸才解出来的方程,显然我要好好写一写(希望不会半途而废) 思路: 先把其 ...

  8. SWUST OJ(953)

    单链表的删除操作的实现 #include <stdio.h> #include <stdlib.h> typedef struct LinkNode //单链表节点结构的定义 ...

  9. python写网络爬虫的环境搭建

    网上找了好多资料,都不全,通过资料的整理,包括自己的测试,终于把环境打好了,真是对于一个刚接触爬虫的人来说实属不易,现在分享给大家,若有不够详细之处,希望各位网友能补充. 第一步,下载python, ...

  10. C++ string的用法和例子

    使用场合: string是C++标准库的一个重要的部分,主要用于字符串处理.可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作.同时C++的算法库对string也有着很好的支持,而且st ...