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

program CODEVS1001;
const maxm=;
maxn=;
INF=;
type arr=record
u,v,w:int64;
end;
var eg:array[..maxm] of arr;
fa:array[..maxn] of longint;
i,j,m,n,x,y,z,s,t,u,v,d:longint;
ans1,ans2:int64;
procedure add(u,v,w:longint);
begin
inc(j);
eg[j].u:=u;
eg[j].v:=v;
eg[j].w:=w;
end;
procedure sort(l,r: longint);
var
i,j,x: longint;
y:arr;
begin
i:=l;
j:=r;
x:=eg[(l+r) div ].w;
repeat
while eg[i].w>x do
inc(i);
while x>eg[j].w do
dec(j);
if not(i>j) then
begin
y:=eg[i];
eg[i]:=eg[j];
eg[j]:=y;
inc(i);
j:=j-;
end;
until i>j;
if l<j then
sort(l,j);
if i<r then
sort(i,r);
end;
function find(x:longint):longint;
begin
if fa[x]=x then exit(x);
fa[x]:=find(fa[x]);
exit(fa[x]);
end;
function gcd(x,y:longint):longint;
begin
if y= then exit(x) else exit(gcd(y,x mod y));
end;
begin
readln(n,m);
j:=;
for i:= to m do
begin
readln(x,y,z);
add(x,y,z);
end;
readln(s,t);
sort(,m);
ans1:=INF;
ans2:=-INF;
for i:= to m do
begin
for j:= to n do fa[j]:=j;
for j:=i to m do
begin
u:=eg[j].u; v:=eg[j].v;
x:=find(u);
y:=find(v);
if x<>y then
begin
fa[x]:=y;
if find(fa[s])=find(fa[t]) then
begin
if eg[i].w*ans2<eg[j].w*ans1 then
begin
ans1:=eg[i].w;
ans2:=eg[j].w;
end;
continue;
end;
end;
end;
end;
d:=gcd(ans1,ans2);
if ans1=INF then writeln('IMPOSSIBLE') else
if d=ans2 then writeln(ans1 div ans2) else
writeln(ans1 div d,'/',ans2 div d);
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. JS回调函数(callback)

    在使用Jquery的时候,用到Callback(),回调函数的概念.而且很多. 比如: $.ajax({ url:"test.json", type: "GET" ...

  2. 一个.net mvc的例子

    控制器 ( Controller) Product 下面功能主要根据多条件搜索产品的列表的功能 public ActionResult ProductList(string cityID, strin ...

  3. 上国际网络——通过配置host

    http://laod.cn/hosts/2016-google-hosts.html

  4. struts2拦截器与过滤器

    转载:http://www.cnblogs.com/JohnLiang/archive/2011/12/15/2288376.html 过滤器,是在java web中,你传入的request,resp ...

  5. BZOJ3238 [Ahoi2013]差异

    首先把后缀数组和height数组都搞出来... 然后用两个单调栈维护$[l, r]$表示对于一个点$x$,满足$height[x] \le height[l..x] \ \&\&\   ...

  6. tomcat 集群配置,Session复制共享

    本配置在tomcat7上验证通过.通过此方法配置的集群,session信息将会被自动复制到各个节点. 1.配置Server.xml 在Server.xml中,找到被注释<Cluster/> ...

  7. js中Array自定义contains, indexOf, delete方法.

    Array.prototype.contains = function (elem) { for (var i = 0; i < this.length; i++) { if (this[i] ...

  8. 批量插入使用SqlBulkCopy

    对于大量的数据插入,我们可以使用批量插入功能来提升性能,例如.

  9. NoSQL分类

    NoSQL数据库分类: NoSQL DEFINITION:Next Generation Databases mostly addressing some of the points: beingno ...

  10. 启动 nginx 失败 "fastcgi_pass" directive is duplicate

    [emerg] 4953#0: "fastcgi_pass" directive is duplicate in /etc/nginx/sites-enabled/default: ...