[HAOI2006]l旅行
这道题。。。一眼看出一个暴力思虑。。。那就是按照生成树。。。
排完序之后从当前边开始向后做生成树。。。
统计一下答案就好了。。。
结果。。。这就是正解。。。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旅行的更多相关文章
- 【BZOJ】【1050】【HAOI2006】旅行comf
枚举/暴力/Kruskal orz……我sb了……其实是sb题<_< 有一道题问的是最小极差生成树……(不记得是什么名字了,就是求最大边权与最小边权差最小的生成树)做法是枚举最小边,然后k ...
- bzoj1050【HAOI2006】旅行comf
1050: [HAOI2006]旅行comf Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2205 Solved: 1174 [Submit][ ...
- JavaWeb 后端 <二> 之 Servlet 学习笔记
一.Servlet概述 1.什么是Servlet Servlet是一个运行在服务器端的Java小程序,通过HTTP协议用于接收来自客户端请求,并发出响应. 2.Servlet中的方法 public v ...
- HTML5 3D 粒子波浪动画特效DEMO演示
需要thress.js插件: http://github.com/mrdoob/three.js // three.js - http://github.com/mrdoob/three.js ...
- 1050: [HAOI2006]旅行comf
1050: [HAOI2006]旅行comf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1495 Solved: 737[Submit][Sta ...
- P2502 [HAOI2006]旅行
P2502 [HAOI2006]旅行有些问题光靠直觉是不靠谱的,必须有简单的证明,要么就考虑到所有情况.这个题我想的是要么见最小生成树,要么建最大生成树,哎,我sb了一种很简单的情况就能卡掉在最小生成 ...
- 【bzoj1050】[HAOI2006]旅行comf
1050: [HAOI2006]旅行comf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2813 Solved: 1534[Submit][St ...
- BZOJ 1050: [HAOI2006]旅行comf(枚举+并查集)
[HAOI2006]旅行comf Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点 ...
- BZOJ 1050 [HAOI2006]旅行comf
1050: [HAOI2006]旅行comf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1889 Solved: 976[Submit][Sta ...
随机推荐
- 利用Xml架构生成实体访问类
由xml生成xsd及实体类 xmldataset工具 使用VS2005工具XSD.exe(SDK/v2.0/Bin/xsd.exe)自动生成实体类: xsd /c /namespace:myCom ...
- Confluence 6 修改一个空间从归档到当前
通过空间目录: 进入头部的 空间(Spaces ) > 空间目录(Space directory). 在左侧 选择 归档的空间(Archived Spaces). 找到你的空间,然后单击右侧的 ...
- apiCloud 上拉加载
api.addEventListener({ name:'scrolltobottom', extra:{threshold:} }, function(ret, err){ //上拉加载时需要加载的 ...
- 如何阻止div中的子div触发div的事件
<div class="sideFrame" v-on:click="hideside"> <div class="sideFram ...
- 【模板/经典题型】min-max容斥
一定注意容斥的时候-1的系数多加了1. 然后一种很常见的min-max容斥的策略就是以每个元素的出现时间作为权值. 最后一个出现的时间即为max,也就等价于全集出现的时间.
- VBA find查找行号和列号的方法
).Worksheets(1).Range("b:b").Find("*", , , , , xlPrevious).Row)'查找最大行号 ).Workshe ...
- sscanf(),sscanf_s()的相关用法
#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........); 函数说明 sscanf ...
- vue组件生命周期详解
Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...
- Hadoop---HDFS读写流程
Hadoop---HDFS HDFS 性能详解 HDFS 天生是为大规模数据存储与计算服务的,而对大规模数据的处理目前还有没比较稳妥的解决方案. HDFS 将将要存储的大文件进行分割,分割到既定的存储 ...
- dubbo 自定义 Filter
通过自定义 Filter,可以在 dubbo 调用链中加入特定的逻辑,比如埋点分析调用链. 1. 新建 Filter 类 // @Activate(group = {Constants.CONSUME ...