hdu-1598 find the most comfortable road---kruskal+枚举下界
2024-09-03 18:08:13
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1598
题目大意:
XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提速/降速,痛苦呀 ),
但XX星人对时间却没那么多要求。要你找出一条城市间的最舒适的路径。(SARS是双向的)。
解题思路:
对边进行排序,从小到大枚举下界,依次加入每条边,知道恰好目标点连通,那么正好是最大值-最小值。答案取最小值
#include<bits/stdc++.h>
using namespace std;
const int maxn = + ;
const int INF = 0x3f3f3f3f;
struct node
{
int u, v, w;
bool operator <(const node & a)const
{
return w < a.w;
}
}a[maxn];
int p[maxn];
void init()
{
for(int i = ; i < maxn; i++)p[i] = i;
}
int Find(int x)
{
return x == p[x] ? x : p[x] = Find(p[x]);
}
void Union(int x, int y)
{
p[Find(x)] = Find(y);
}
int main()
{
int n, m;
while(cin >> n >> m)
{
for(int i = ; i < m; i++)
{
cin >> a[i].u >> a[i].v >> a[i].w;
}
sort(a, a + m);
int t, u, v;
cin >> t;
while(t--)
{
cin >> u >> v;
int ans = INF;
for(int start = ; start < m; start++)
{
init();
for(int end = start; end < m; end++)
{
Union(a[end].u, a[end].v);
if(Find(u) == Find(v))
{
ans = min(ans, a[end].w - a[start].w);
}
}
}
if(ans < INF)cout<<ans<<endl;
else cout<<"-1"<<endl;
}
}
return ;
}
最新文章
- Open Live Writer 安装
- CodeIgnitor 创建admin和其他目录,前后端分离,很巧妙的方式,网上查找其他的都不是使用这种方式实现的。
- Memcache的安装
- mvc bundle功能(2)
- 创建安全的ashx文件,ashx编译
- 当append里面的标签显示不出来的时候,用下面的方式做
- asp.net mvc+web api+easyui
- 学习Android NestedScroll
- $()和getElementById()的区别
- ASP.NET中操作SQL数据库
- 用NMAKE创建VS2012 C++工程 HelloWorld
- jq 测试是否到页面最底端
- (简单) POJ 1860 Currency Exchange,SPFA判圈。
- 《深入理解Java虚拟机》读书笔记(第三章)
- POJ1065 Wooden Sticks(贪心+动态规划——单调递减或递增序列)
- RF的特征子集选取策略(spark ml)
- Excel长数字防止转换为科学计数法
- Docker 构建Hadoop环境
- __stdcall __cdecl 引起的程序崩溃
- DBUtils结果集处理器介绍
热门文章
- 详解Java中的Object.getClass()方法
- vue-cli目录结构及说明
- java内存及数据区
- C#多进程并行
- CF 979D Kuro and GCD and XOR and SUM(异或 Trie)
- Hadoop中解除 ";Name node is in safe mode";的方法
- 异常HttpMessageNotWritableException解决办法
- Sublime Text 3 多行游标
- 2017 ACM/ICPC Asia Regional Shenyang Online number number number
- python_魔法方法(一):构造和析构