越是取值要求奇怪的题,范围不大的题,就越需要枚举、

这个比值的要求非常特殊,他没有任何最优值可以取,所以不能考虑dp及其相似算法

所以就要考虑枚举一个求另一个,易知枚举了最小的,加的必须是比他大的,所以排序后依次往上加即可,用并查集判断联通。

码:

#include<iostream>
#include<cstdio>
using namespace std;
#include<cstring>
#include<algorithm>
int x,y,z,n,s,t,i,j,sz[10005],fu[10005],from1,from2,tot,xia[10005],m;
double ans;
struct bian
{int h,zhong,v,qi;
}eg[10005];
int find(int o)
{if(fu[o]!=o)fu[o]=find(fu[o]);return fu[o];
}
void jian(int a,int b,int c)
{++tot,eg[tot].h=xia[a],xia[a]=tot,eg[tot].zhong=b,eg[tot].v=c,eg[tot].qi=a;}
void jia(int a,int b,int c)
{jian(a,b,c);
}
bool cmp(bian a,bian b)
{return a.v<b.v;
}
int gcd(int a,int b)
{if(!b)return a;return gcd(b,a%b);
}
int main()
{ans=1e13;memset(xia,-1,sizeof(xia));
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{scanf("%d%d%d",&x,&y,&z);jia(x,y,z);
}
scanf("%d%d",&s,&t);
sort(eg+1,eg+1+tot,cmp);
for(i=1;i<=tot;i++)
{
for(j=1;j<=n;j++)fu[j]=j,sz[j]=1;
for(j=i;j<=tot;j++)
{int fx=find(eg[j].qi),fy=find(eg[j].zhong);
if(sz[fx]<sz[fy])
{fu[fx]=fy;sz[fy]+=sz[fx];
}else
{fu[fy]=fx;sz[fx]+=sz[fy];
}
if(find(s)==find(t))
{
if(ans>double(1.0*eg[j].v/eg[i].v))
{ans=double(1.0*eg[j].v/eg[i].v);from1=i;from2=j;
}break;
}
}
}
if(from1==0)
{printf("IMPOSSIBLE");return 0;
}if(eg[from2].v%eg[from1].v==0){printf("%d",eg[from2].v/eg[from1].v);}else
printf("%d/%d",eg[from2].v/gcd(eg[from2].v,eg[from1].v),eg[from1].v/gcd(eg[from2].v,eg[from1].v));
} 

2017.10.15 旅行comf 失败总结相关推荐

  1. 【队内胡策】2017.10.15

    难忘的一天. T1 DQS 捡石子 题目描述 今年开始上学的 DQS 非常喜欢石子, 她总是会收集很多不同类型 的石子来卖钱, 这个世界的石子只有两种--蓝色和白色(用 01 表示) 并且都是连在一起 ...

  2. 2017.10.23 硬币购物 失败总结

    这题常规套路根本用不上 一共就四枚硬币,所以要考虑对硬币的算法 然而谁能想到容斥啊... 首先查询是很多的,需要对每个查询做到尽量常数级 首先排除dp查询,因为状态肯定不支持O(1)查询 然后需要想到 ...

  3. 2017.10.22 方格染色 失败总结

    详细题解网上有好多.. 一开始想用一个并查集维护  确定关系 一个并查集维护相等关系 但会出现一些无解判不出来(原因未知) 所以就只能写加权并查集,记录每个点和他根节点的相等关系:0相等 1不等 然后 ...

  4. 2017.10.12 礼物(zjoi2011) 失败总结

    听说n^4能过,于是愉快地敲了n^4  ,还带了两个最优性剪枝.. 结果事实证明是别人家的n^4...(wys?) 很奇怪玄学剪枝有时2^50次方都能过,为什么这个连1e10都过不了... TLE代码 ...

  5. 2017.10.11 Problem c 失败总结

    一开始就想偏了.. 首先计数题 30s + n<=300显然是让你n^3 dp的 先从手玩开始考虑 注意到从大到小出现的数字个数是可以判断有无解的 ,,然后可以画出一些区间的条件  如(> ...

  6. 2017.10.8 志愿者招募 失败总结

    .这个题要是想用费用流写的话就太难了. 所以就要考虑统筹学的另一个工具--单纯形 实际上.很多网络流解决的都是线性规划的问题,,这些问题很多都可以用单纯形解 关于单纯形的学习资料网上很详细了..这里就 ...

  7. macbook蓝牙pan未连接_macOS Catalina 10.15.1 连接iPad 13.2.2 分屏失败的解决办法

    想用iPad做为拓展屏幕,首先第一点,您的ipad是支持Apple Pencil款. 下面说说我升级后连接设备出现的一些问题及心得: 第一步: 升级iPad为最新系统13.2.2,升级后感觉icon都 ...

  8. macOS 10.15 安装应用程序失败解决方案

    macOS 10.15 安装应用程序失败解决方案 安全与隐私打开app来源 打开终端: sudo xattr -rd com.apple.quarantine /Applications/xxx` S ...

  9. BZOJ1050 旅行comf(kruskal)

    旅行comf 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大边和最小边 ...

最新文章

  1. 自动驾驶解决方案架构
  2. discuz,ecshop的伪静态规则(apache+nginx)
  3. 苏教版四下用计算机计算,苏教版四年级下册数学单元测试-4.用计算器计算 (含答案)...
  4. OpenCV在浏览器中运行深度网络
  5. Android Activity 提示[No Launcher activity found!]
  6. 小麦亩产一千八(jzoj 3461)
  7. 第五章数理统计--样本和抽样分布
  8. 微课|中学生可以这样学Python(例11.3):tkinter通信录管理系统1
  9. python列表的表示形式_将列表的字符串表示形式转换为Python中的列表
  10. 三层交换机和链路聚合
  11. STM32+W5500网络通信
  12. QQ消息 pc端防撤回
  13. 浅谈临床研究中随机化
  14. Esxi通过U盘启动
  15. 教你在“狼人杀”中实现变声效果
  16. Halcon例程分析2:颜色检测识别
  17. 思绪,飘在青山绿水间
  18. 每日下载次数限制php,织梦实现会员限制用户单日下载软件资源的上限方法
  19. 机械键盘按键失灵解决办法(亲测有效,不用换不用拆,5分钟搞定)
  20. 什么是web服务器?有哪些作用?

热门文章

  1. Head First设计模式读书笔记九 第十章 状态模式
  2. Android笔记 activity生命周期 Tasks and back stack回退栈
  3. poj 1611 TheSuspects 并查集 连通图
  4. leetcode784题:字母大小写全排列
  5. python中的import详解_如何在python中import
  6. MySQL统计两部分查询结果记录数量比值
  7. 小程序坑集【日常总结,持续更新(11.08更新)】
  8. 求最小公倍数与最大公约数(C语言)
  9. 广州大学计算机技术复试c语言试题,广州大学C语言程序设计期末考试试卷含答案...
  10. linux定制环境变量,定制Linux系统环境变量.doc