梦后楼台高锁,酒醒帘幕低垂

Time Limit: 3000/1000MS (Java/Others)
Memory Limit: 65535/65535KB (Java/Others)

Submit Status

给你一个有n个点和m条边的无向连通图,每条边都有一个权值w.
我们定义,对于一条路径,它的Charm value为该路径上所有边的权值的最大值与最小值的差.
询问从1到n的所有路径的Charm value的最小值.

Input

第一行有两个整数n,m(1≤n≤200,n−1≤m≤1000)n,m(1≤n≤200,n−1≤m≤1000),表示该图有n个点和m条边.
接下来m行,每行三个整数u,v,w(1≤u,v≤n,1≤w≤1000000),表示点u和点v之间有一条权值为w的边.

Output

输出一个数,即从1到n的所有路径的Charm value的最小值.

Sample Input

4 4
3 4 1
2 3 2
1 2 4
2 4 3

Sample Output

1


解题心得:

  1. 比赛的时候遇到这个题,第一个反应是kruskal的最小生成树,写了一会儿发现不太对,1到n这么多的路径,要最大值减最小值最小,怎么弄呢,想了半天发现没啥思路,结果是暴力,天哪。
  2. 先按照路径排一个序,然后枚举以每一条路径为起点跑kurskal,当发现1和n已经连接起来的时候就停止,记录一下值,将所有跑出来的结果取一个最小值就可以了。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000;
struct PATH
{int s,e,len;
}path[1000100];
int n,m,father[maxn];bool cmp(PATH a,PATH b)
{return a.len < b.len;
}void init()
{for(int i=0;i<m;i++)scanf("%d%d%d",&path[i].s,&path[i].e,&path[i].len);sort(path,path+m,cmp);
}int find(int x)
{if(x == father[x])return x;return father[x] = find(father[x]);
}void merge(int x,int y)
{int fx = find(x);int fy = find(y);father[fy] = fx;
}int get_min(int pos)
{int Min,Max;bool flag = false;Min = path[pos].len;for(int i=pos;i<m;i++){Max = path[i].len;merge(path[i].s,path[i].e);if(find(1) == find(n))//1和n已经连接起来break;}if(find(1) == find(n))flag = true;if(flag)return Max-Min;return 0x3f3f3f3f;
}int main()
{while(scanf("%d%d",&n,&m) != EOF){init();int Min = 0x7f7f7f7f;for(int i=0;i<m;i++){for(int i=1;i<=n;i++)father[i] = i;int temp = get_min(i);//枚举每一个边为起点开始连接路径Min = min(Min,temp);}printf("%d\n",Min);}return 0;
}

CDOJ:1636-梦后楼台高锁,酒醒帘幕低垂(Kruskal+暴力)相关推荐

  1. CDOJ 1636 梦后楼台高锁,酒醒帘幕低垂

    给你一个有n个点和m条边的无向连通图,每条边都有一个权值w. 我们定义,对于一条路径,它的Charm value为该路径上所有边的权值的最大值与最小值的差. 询问从1到n的所有路径的Charm val ...

  2. 【最小生成树专题】UESTC - 1636 梦后楼台高锁,酒醒帘幕低垂

    http://qscoj.cn/#/problem/show/1636 梦后楼台高锁,酒醒帘幕低垂 Description 给你一个有nn个点和mm条边的无向连通图,每条边都有一个权值ww.  我们定 ...

  3. UESTC - 1636 梦后楼台高锁,酒醒帘幕低垂(枚举+最小生成树)

    题意 给你一张图, 求1到n的路径,边权最大值-边权最小值最小的差ans 输出这个ans 思路来源 https://blog.csdn.net/ProLightsfxjh/article/detail ...

  4. UESTC 1636 梦后楼台高锁,酒醒帘幕低垂

    题意:求一条路径,使得这条边连接1到n,求边权值的最大值与最小值的差 题解:最小生成树,对边权排序,可以枚举边的最大和最小的值,判断能否使得1和n连通 #include <bits/stdc++ ...

  5. 《临江仙·梦后楼台高锁》——[宋]晏几道

    梦后楼台高锁,酒醒帘幕低垂.去年春恨却来时.落花人独立,微雨燕双飞. 记得小蘋初见,两重心字罗衣.琵琶弦上说相思.当时明月在,曾照彩云归.(蘋:通'苹') 转载于:https://www.cnblog ...

  6. [UESTC1636]梦后楼台高锁,酒醒帘幕低垂

    给你一个有n个点和m条边的无向连通图,每条边都有一个权值w.我们定义,对于一条路径,它的Charm value为该路径上所有边的权值的最大值与最小值的差. 询问从1到n的所有路径的Charm valu ...

  7. 晏几道 天涯 青砚1989

    晏几道:去年春恨却来时 酒醒长恨锦屏空  梦后楼台高锁,酒醒帘幕低垂.去年春恨却来时,落花人独立,微雨燕双飞.  记得小蘋初见,两重心字罗衣.琵琶弦上说相思,当时明月在,曾照彩云归.    --晏几道 ...

  8. UESTC 图论专题 A-D

    A:梦后楼台高锁,酒醒帘幕低垂 题目链接:http://acm.uestc.edu.cn/#/problem/show/1636 解法:首先,考虑到,我们需要找到一条路径,使它的最小边尽量大,最大边尽 ...

  9. 科大星云诗社动态20210309

    [诗人背后的故事--为情而活晏几道] 杜甫忧国,不顾妻子有孕离家而去:陆游孝顺,因为母亲反对就休掉唐婉:元白交好,两人唱和诗比给妻子的诗多得多--诗人虽写情,却未必重情.忠义礼孝,皆在情之上. 而历史 ...

最新文章

  1. POJ 3216 Repairing Company【二分图最小路径覆盖】
  2. .NET Framework- 反射特性序列化(Day4)
  3. @valid注解_springboot使用自定义注解对接口参数校验
  4. Xamarin Essentials教程检查网络连通性Connectivity
  5. postgresql 备份_PostgreSQL的备份与恢复
  6. 易语言 设置屏幕刷新率 源码_DxOMark新推出手机屏幕素质测试
  7. python如何实现办公自动化培训_基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)...
  8. 接口监控_java应用监控之利用cat接口性能优化,每一次都是血的教训
  9. 谷歌要求华为不启用鸿蒙,谷歌:华为我不让你用我的服务!华为:我还是照样用!...
  10. springboot与docker整合
  11. atitit.二维码生成总结java zxing
  12. 计算机网络知识点汇总(王道)
  13. IntelliJ IDEA破解
  14. vue引入jsmind(右键菜单)
  15. 学习 opencv 自带示例 stereo_calib(立体相机标定)
  16. Excel 如何用万元单位表示,并且保留两位小数点,亲测真实有效!自定义格式即可解决!如:100.25万---但是此方法会导致最后一位永远都是0
  17. keil软件是干嘛的?keil软件怎么用?
  18. win7升级win10正式版_如何在win7系统中升级win10
  19. 基于JQuery网页漂浮广告窗口Js详解
  20. python中iter()的高阶用法

热门文章

  1. 互联网求职指南2023版(内含腾讯、阿里、字节真实面经)
  2. H5 手机 App 开发入门:技术篇
  3. android的fragment添加列表,Android之listfragment的使用例子
  4. outlook2010批量导入导出联系人
  5. JAVA Web学习之servlet开发
  6. 嫦娥一号探测任务与探测设备
  7. 魅蓝note3 android7,魅蓝Note3和全面评测对比 良心推荐!
  8. html+页面的背景透明,css设置背景透明 元素不透明
  9. 嵌入式Linux的基本命令
  10. linux expect 详解