hdu 1598 find the most comfortable road 枚举+最小成生树 kruskal 解题报告
但XX星人对时间却没那么多要求。要你找出一条城市间的最舒适的路径。(SARS是双向的)。
第一行有2个正整数n (1<n<=200)和m (m<=1000),表示有N个城市和M条SARS。
接下来的行是三个正整数StartCity,EndCity,speed,表示从表面上看StartCity到EndCity,限速为speedSARS。speed<=1000000
然后是一个正整数Q(Q<11),表示寻路的个数。
接下来Q行每行有2个正整数Start,End, 表示寻路的起终点。
思路:把路径按照从小到大排序, 然后从小到大依次枚举“最小速度”, 再寻找目标起点到目标终点的路径中的“最大速度”,为了使得它们的差更小,就要使得“最大速度”尽量的小。
代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;const int maxn = 220;
const int maxm = 1100;struct node
{int x, y, v;bool operator < (const node &s) const{return v < s.v;}
} w[maxm];int f[maxn];int find(int x)
{return x == f[x] ? x : f[x]=find(f[x]);
}int main()
{int n, m, q, a, b, ans;while(scanf("%d%d", &n, &m) != EOF){for(int i = 0; i < m; i++)scanf("%d%d%d", &w[i].x, &w[i].y, &w[i].v);sort(w, w + m);scanf("%d", &q);while(q--){ans = -1;scanf("%d%d", &a, &b);for(int i = 0; i < m; i++){for(int j = 0; j <= n; j++)f[j] = j;for(int j = i; j < m; j++){int fx = find(w[j].x);int fy = find(w[j].y);if(fx != fy)f[fx]=fy;if(find(a) == find(b)){if(ans == -1 || ans > w[j].v - w[i].v)ans = w[j].v - w[i].v;break;}}}printf("%d\n", ans);}}return 0;
}
hdu 1598 find the most comfortable road 枚举+最小成生树 kruskal 解题报告相关推荐
- hdu 1598 find the most comfortable road (并查集+枚举)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1598 find the most comfortable road Time Limit: 1000/ ...
- hdu 1598 find the most comfortable road
题意:给出一幅无向图,每次询问给出起点和终点,求起点到终点权值差最小的一条路,输出权值差: 思路:边按权值排序,利用并查集枚举每次能使起点终点联通的情况下权值差,并每次更新最小值: #include& ...
- HDOJ 1598 find the most comfortable road(并查集+贪心)
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- HDU1598 find the most comfortable road【枚举+并查集+最大生成树】
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- ACM--steps--dyx--5.1.4--find the most comfortable road
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- hdu 1598(最小生成树变形)
解题思路:这道题我一开始的思路是动规,dp_max[i][j]表示i-j的最大边,dp_min[i][j]表示i-j的最小边,可是这样会有问题,有可能最大边与最小边不在同一条路径上,这样就很麻烦了. ...
- POJ 3522 Slim Span (Kruskal枚举最小边)
题意: 求出最小生成树中最大边与最小边差距的最小值. 分析: 排序,枚举最小边, 用最小边构造最小生成树, 没法构造了就退出 1 #include <stdio.h> 2 #include ...
- hdu 2049 不容易系列之(4)——考新郎 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 写这篇解题报告时 我真的很气愤 对自己又一次犯下低级错误改了两个小时 int型的数据居然用%I6 ...
- 【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)
题干: CC always becomes very depressed at the end of this month, he has checked his credit card yester ...
- c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)
c# 编程入门第六课 文章目录 c# 编程入门第六课 1. 常量 2. 枚举 3. 枚举转换成其他类型变量 3.1 枚举和int 3.2 转string 3.2 字符串转枚举 4.结构体 5.数组 7 ...
最新文章
- python中字符串格式化
- h5 img js 点击图片放大_5分钟学会h5生成图片海报!
- java 添加一个线程、创建响应的用户界面 。 演示示例代码
- java对象流定义_Java 对象流的用法,将自定义类数组写入文件中
- 798·锣鼓巷·牛街
- 计算机科学与应用考研题,2015年中科院计算机科学综合考研真题
- HDU 4714 Tree2cycle:贪心
- 关于java代码中的注释问题。(类中方法的注释,我们一般都要写上这个方法的文档(doc),方法的参数也要有它的文档)
- 2018年全国计算机二级vb真题,2017年计算机二级VB考试试题
- 百度App网络深度优化系列《一》DNS优化
- Java学习笔记之设计模式(5)装饰者模式
- Ubuntu安装五笔输入法
- 计算机无法安装小丸工具箱,小丸工具箱
- MySQL/Mariadb基准测试工具-TPC,TPCC,TPMC(计算机性能衡量指标)
- [wp7软件]相机 画图 截屏 photo 集合 软件(一)
- 考研经验贴(一):什么可以让你考研坚持到底
- 计算机计算器logo,计算器品牌哪个比较好(卡西欧stylish计算器入手体验)
- 64匹马8条跑道找最快的4匹马
- 成为ui设计师要培训哪些技能呢?
- google哈希面试题
热门文章
- Exif 格式介绍和操作
- Problem A: 素MM
- 笔记本电脑计算机目录下无法显示视频设备,笔记本摄像头怎么开 win7笔记本摄像头打开方法...
- AES16位密钥加密解密
- 苹果系统中国日历服务器,ios日历中国节日不见了(2021年苹果日历订阅地址)...
- 清理Windows Temp目录下的cab*文件
- 服务器修改传奇道士神兽升级,传奇游戏小道士关于神兽升级的研究——骨灰级传奇玩家分享...
- 多节点什么网络取得技术性突破_中国学者研究“多节点量子网络”取得基础性突破...
- PicGo 安装及配置
- 计算机页面底端插入页码,word中怎么插入页码_word增加页码教程