[Uva1395]Slim Span

题目略……

试题分析:codevs1001舒适的路线上加一个判一下连通性就好,顺便把除改成减

代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
inline int read(){
int x=0,f=1;char c=getchar();
for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;
for(;isdigit(c);c=getchar()) x=x*10+c-'0';
return x*f;
}
int N,M;
struct data{
int x,y,v;
}e[5001]; bool cmp(data a,data b){
return a.v<b.v;
}
int fa[5001];
void init(){
for(int i=1;i<=N;i++) fa[i]=i;
return ;
}
int find(int x){
if(x!=fa[x]) return fa[x]=find(fa[x]);
return x;
}
int ans1,ans2; int main(){
while(1){
N=read(),M=read();
if(!(N+M)) break;
if(M==0){puts("-1");continue;}
for(int i=1;i<=M;i++){
e[i].x=read(),e[i].y=read();
e[i].v=read();
}
ans1=ans2=-1;
bool alflag=false;
sort(e+1,e+M+1,cmp);
for(int i=1;i<=M;i++){
init();
for(int j=i;j<=M;j++){
int u=find(e[j].x),v=find(e[j].y);fa[v]=u;
if(ans1!=-1&&e[j].v-e[i].v>=ans2-ans1) break;
bool flag=false;
for(int k=1;k<=N;k++) if(find(k)!=find(1)) {flag=true;break;}
if(!flag){ans1=e[i].v;ans2=e[j].v;break;}
}
if(ans1==-1){puts("-1");alflag=true;break;}
}
if(!alflag)printf("%d\n",ans2-ans1);
}
}

  

【Kruskal】Slim Span的更多相关文章

  1. 【poj3522】 Slim Span

    http://poj.org/problem?id=3522 (题目链接) 题意 求最小生成树的最大边与最小边差最小. Solution 排序后滑动窗口维护 代码 // poj3522 #includ ...

  2. 【UVA 1395】 Slim Span (苗条树)

    [题意] 求一颗生成树,满足最大边和最小边之差最小 InputThe input consists of multiple datasets, followed by a line containin ...

  3. 【uva 1395】Slim Span(图论--最小生成树+结构体快速赋值 模版题)

    题意:给一个N(N<=100)个点的联通图(无自环和平行边),求苗条度(最大边-最小边的值)尽量小的生成树. 解法:枚举+Kruskal.先从小到大排序边,枚举选择的最小的边. 1 #inclu ...

  4. poj 2253 Frogger【最小生成树变形】【kruskal】

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30427   Accepted: 9806 Descript ...

  5. 【次小生成树】【Kruskal】【prim】【转】

    原博客出处:https://blog.csdn.net/yasola/article/details/74276255 通常次小生成树是使用Prim算法进行实现的,因为可以在Prim算法松弛的同时求得 ...

  6. BZOJ2753 [SCOI2012]滑雪与时间胶囊 【kruskal】

    题目链接 BZOJ2753 题解 完了我连\(kruskal\)裸题都做不出来了.. 题目是求最小树形图,即有向图最小生成树 我们不能直接上\(kruskal\),而要保证先加入前面的点, 所以我们排 ...

  7. 【Kruskal】舒适的路线

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

  8. poj 1679 The Unique MST (次小生成树(sec_mst)【kruskal】)

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35999   Accepted: 13145 ...

  9. 【Tensorflow】slim.arg_scope()的使用

    https://blog.csdn.net/u013921430/article/details/80915696

随机推荐

  1. js中的document.ready

    1.概念 表示在dom结构绘制完成后执行,可能DOM元素关联的部分并未加载完 2.写法 $(document).on("ready",function(){ }) $(docume ...

  2. linux安装lamp

    github https://github.com/zblogcn/zblogphp Installation If your server system: CentOS yum -y install ...

  3. js原生读取json

    function showJson(){ var test; if(window.XMLHttpRequest){ test = new XMLHttpRequest(); }else if(wind ...

  4. Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。

    --获取所有数据库名: SELECT name FROM master..sysdatabases WHERE name NOT IN ( 'master', 'model', 'msdb', 'te ...

  5. [ Linux ] 服务器更换硬盘

    服务器型号:ThinkServer RD650操作系统:Red Hat 6.7业务用途:生产环境监控机 接到机房邮件通知,告知某台服务器硬盘告警,并提供了设备SN号和机柜位置.根据提供想相关信息找到对 ...

  6. IE6下面的hover不兼容

    第一种解决方法: ie6中hover只是对a标签有作用 必须有href=“”,否则都不管用,如果不能写a标签,还想让ie6下有滑过效果,那只能写javascript或者jquery. 例如:ie6是不 ...

  7. 如何让Footer无论页面长短都在最底部, 并和正文保持固定高度?

    html结构: <div id="container"> <div id="content">页面正文</div> < ...

  8. FTP webReq.ContentType异常的处理

    FtpWebRequest webReq; webReq = (FtpWebRequest)FtpWebRequest.Create(new Uri(updateFileUrl)); FtpWebRe ...

  9. 字符串aaaa......bbbb....ccc...dddddd用正则替换为abcd

    public static void main(String[] args) { String s = "aaaa......bbbb....ccc...dddddd"; Stri ...

  10. java的关键字final

    final可以修饰类,成员方法,成员变量. 1.final修饰的类不能被继承,所以没有子类 final class First{ int num; } class Second extends Fir ...