对所有边从大到小排序,枚举最大边,O(m)验证,用并查集维护图是否联通。

  1. program CODEVS1001;
  2. const maxm=;
  3. maxn=;
  4. INF=;
  5. type arr=record
  6. u,v,w:int64;
  7. end;
  8. var eg:array[..maxm] of arr;
  9. fa:array[..maxn] of longint;
  10. i,j,m,n,x,y,z,s,t,u,v,d:longint;
  11. ans1,ans2:int64;
  12. procedure add(u,v,w:longint);
  13. begin
  14. inc(j);
  15. eg[j].u:=u;
  16. eg[j].v:=v;
  17. eg[j].w:=w;
  18. end;
  19. procedure sort(l,r: longint);
  20. var
  21. i,j,x: longint;
  22. y:arr;
  23. begin
  24. i:=l;
  25. j:=r;
  26. x:=eg[(l+r) div ].w;
  27. repeat
  28. while eg[i].w>x do
  29. inc(i);
  30. while x>eg[j].w do
  31. dec(j);
  32. if not(i>j) then
  33. begin
  34. y:=eg[i];
  35. eg[i]:=eg[j];
  36. eg[j]:=y;
  37. inc(i);
  38. j:=j-;
  39. end;
  40. until i>j;
  41. if l<j then
  42. sort(l,j);
  43. if i<r then
  44. sort(i,r);
  45. end;
  46. function find(x:longint):longint;
  47. begin
  48. if fa[x]=x then exit(x);
  49. fa[x]:=find(fa[x]);
  50. exit(fa[x]);
  51. end;
  52. function gcd(x,y:longint):longint;
  53. begin
  54. if y= then exit(x) else exit(gcd(y,x mod y));
  55. end;
  56. begin
  57. readln(n,m);
  58. j:=;
  59. for i:= to m do
  60. begin
  61. readln(x,y,z);
  62. add(x,y,z);
  63. end;
  64. readln(s,t);
  65. sort(,m);
  66. ans1:=INF;
  67. ans2:=-INF;
  68. for i:= to m do
  69. begin
  70. for j:= to n do fa[j]:=j;
  71. for j:=i to m do
  72. begin
  73. u:=eg[j].u; v:=eg[j].v;
  74. x:=find(u);
  75. y:=find(v);
  76. if x<>y then
  77. begin
  78. fa[x]:=y;
  79. if find(fa[s])=find(fa[t]) then
  80. begin
  81. if eg[i].w*ans2<eg[j].w*ans1 then
  82. begin
  83. ans1:=eg[i].w;
  84. ans2:=eg[j].w;
  85. end;
  86. continue;
  87. end;
  88. end;
  89. end;
  90. end;
  91. d:=gcd(ans1,ans2);
  92. if ans1=INF then writeln('IMPOSSIBLE') else
  93. if d=ans2 then writeln(ans1 div ans2) else
  94. writeln(ans1 div d,'/',ans2 div d);
  95. end.

CODEVS1001 舒适的路线 (并查集)的更多相关文章

  1. [codevs1001]舒适的路线

    [codevs1001]舒适的路线 试题描述 Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N(1<N≤500)个景点(编号为1,2,3,-,N),这些景点被M(0 ...

  2. codevs1001 舒适的路线 - 贪心 - 并查集

    题目描述 Description Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N(1<N≤500)个景点(编号为1,2,3,…,N),这些景点被M(0<M≤ ...

  3. [题解]codevs1001 舒适的路线

    h3 { font-family: Consolas; color: #339966 } .math { font-family: Consolas; color: gray } 题目描述 Descr ...

  4. 参观路线——并查集+dfs

    题目描述 Lambdaland由N个城市组成,任两个城市间都有一条道路相连.  下个月TBL准备参观Lambdaland.他将从城市1开始,以深度优先搜索顺序参观能所有遍历到的城市. 由于TBL是一位 ...

  5. 【Kruskal】舒适的路线

    [codevs1001]舒适的路线 题目描述 Description Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N(1<N≤500)个景点(编号为1,2,3,… ...

  6. codevs 1001 舒适的路线 (并查集)

    题目描述 Description Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光. Z小镇附近共有 N(<N≤)个景点(编号为1,,,…,N),这些景点被M(<M≤)条道路连 ...

  7. AC日记——舒适的路线 codevs 1001 (并查集+乱搞)

    1001 舒适的路线 2006年  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description Z小镇是 ...

  8. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

  9. 求最大边/最小边的比值最小的路径 codevs 1001 舒适的路线

    codevs 1001 舒适的路线 2006年  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description Z小镇是一个景色宜人 ...

随机推荐

  1. 201. Bitwise AND of Numbers Range -- 连续整数按位与的和

    Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers ...

  2. 368. Largest Divisible Subset -- 找出一个数组使得数组内的数能够两两整除

    Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of ...

  3. for循环的嵌套——7月24日

      练习一:输入一个正整数,用for循环嵌套求阶乘的和 //输入一个正整数,求1!+2!+....+n! 用for循环嵌套 Console.Write("请输入一个正整数:"); ...

  4. C# 通过URL获取图片并显示在PictureBox上的方法

    , ); System.Net.WebRequest webreq = System.Net.WebRequest.Create(url); System.Net.WebResponse webres ...

  5. Objective-C:Foundation框架-常用类-NSNumber

    NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...

  6. jar转dll

    IKVM http://www.cnblogs.com/luckeryin/archive/2012/03/28/2421274.html

  7. BZOJ1507 [NOI2003]Editor

    是一道裸的Splay(反正我不会Splay,快嘲笑我!) 只需要维护在数列上加点删点操作即可,不会写Splay的渣渣只好Orz iwtwiioi大神一下了.(后来发现程序直接抄来了...) 就当我的第 ...

  8. Jquery操作复选框(CheckBox)的取值赋值实现代码

    赋值 复选框 CheckBox 遍历 取值  1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $(&q ...

  9. 2014北邮新生归来赛解题报告d-e

    D: 399. Who Is Joyful 时间限制 3000 ms 内存限制 65536 KB 题目描述 There are several little buddies standing in a ...

  10. HDU 4888 Redraw Beautiful Drawings(2014 Multi-University Training Contest 3)

    题意:给定n*m个格子,每个格子能填0-k 的整数.然后给出每列之和和每行之和,问有没有解,有的话是不是唯一解,是唯一解输出方案. 思路:网络流,一共 n+m+2个点   源点 到行连流量为 所给的 ...