题目链接:10048 - Audiophobia

题目大意:有n个城市,和m条街道,每条街道有一个噪音值,q次去问,从城市a到城市b,路径上分贝值的最大值最小为多少。

解题思路:与uva 10099的做法是一样的,可以参考一下。

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 105;
const int M = 1005;
const int Q = 10005;
struct state {
int r, l, num;
}s[M];
int n, m, f[N]; int getfather(int x) {
return x == f[x] ? x : f[x] = getfather(f[x]);
} bool cmp(const state& a, const state& b) {
return a.num < b.num;
} void init() {
for (int i = 0; i < m; i++)
scanf("%d%d%d", &s[i].l, &s[i].r, &s[i].num);
sort(s, s + m, cmp);
} int kruskal() {
int a, b;
scanf("%d%d", &a, &b);
for (int i = 1; i <= n; i++)
f[i] = i;
for (int i = 0; i < m; i++) {
int p = getfather(s[i].l), q = getfather(s[i].r);
if (p != q) {
f[p] = q;
if (getfather(a) == getfather(b))
return s[i].num;
}
}
return -1;
} int main () {
int cas = 0, q;
while (scanf("%d%d%d", &n, &m, &q), n || m || q) {
init();
if (cas) printf("\n");
printf("Case #%d\n", ++cas);
for (int i = 0; i < q; i++) {
int ans = kruskal();
if (ans < 0)
printf("no path\n");
else
printf("%d\n", ans);
}
}
return 0;
}

uva 10048 Audiophobia(最小生成树)的更多相关文章

  1. UVa 10048: Audiophobia

    这道题要求我们求出图中的给定的两个节点(一个起点一个终点,但这是无向图)之间所有“路径中最大权值”的最小值,这无疑是动态规划. 我开始时想到根据起点和终点用动态规划直接求结果,但最终由于题中S过大,会 ...

  2. UVA - 10048 Audiophobia (Floyd应用)

    题意:求出两点之间所有路径最大权值的最小值. 思路:转变一下Floyd的形式即可: 注意:注意初始化问题,还有UVA奇葩的输出形式. 代码如下: #include<iostream> #i ...

  3. UVa 10048 - Audiophobia(Floyd变形)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  4. UVa 10048 Audiophobia【Floyd】

    题意:给出一个c个点,s条边组成的无向图,求一点到另一点的路径上最大权值最小的路径,输出这个值 可以将这个 d[i][j]=min(d[i][j],d[i][k]+d[k][j]) 改成 d[i][j ...

  5. UVA 10048 Audiophobia 任意两点的路径上最大的边

    题目是要求任意给定两点的的路径上最大的边,最终输出这些最大边中最小的值,也就是求一条路径使得这条路径上最大的边在所有连通两点的路径中最短.根据Floyd—Warshall算法改造一下就行了.dp[i] ...

  6. UVA - 10048 Audiophobia Floyd

    思路:套用Floyd算法思想,d(i, j) = min(d(i,j), max(d(i,k), d(k,j)),就能很方便求得任意两点之间的最小噪音路径. AC代码 #include <cst ...

  7. UVA - 10048 Audiophobia(Floyd求路径上最大值的最小)

    题目&分析: 思路: Floyd变形(见上述紫书分析),根据题目要求对应的改变判断条件来解题. 代码: #include <bits/stdc++.h> #define inf 0 ...

  8. uva 10048 Audiophobia UVA - 10048

    题目简介 一个无向正权图,求任意两个节点之间的路径里最短的路径长度. 直接Floyd解决,就是注意要把Floyd的DP式子改一下成 G[i][j]=min(G[i][j],max(G[i][k],G[ ...

  9. 训练指南 UVA - 11354(最小生成树 + 倍增LCA)

    layout: post title: 训练指南 UVA - 11354(最小生成树 + 倍增LCA) author: "luowentaoaa" catalog: true ma ...

随机推荐

  1. hdu 5691 Sitting in Line 状压dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5691 题解: 和tsp用的状压差不多,就是固定了一些访问顺序. dp[i][j]表示前cnt个点中布 ...

  2. Bootstrap的宽度和分辨率的差别

    首先在bootstrap里面所有的样式并在pc上是根据px的单位来判断的,就是我们说的分辨率, @media(min-width:1200px){ ......里面的样式 } 那么就是说当你的屏幕放大 ...

  3. dblink应用

    当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据. 用法例子: (1) ...

  4. jquery cdn加速点

    新浪jquery cdn加速点: <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.js">< ...

  5. NYOJ-517 最小公倍数 TLE 分类: NYOJ 2013-12-29 14:49 253人阅读 评论(0) 收藏

    #include <stdio.h> int main(){ int num[101]={0}; int result[21]={0}; int sum[101][21]={0}; int ...

  6. nginx上如何支持.htaccess伪静态转向

    我们知道在apache上有一个常用的功能.htaccess转向,只要apache编译的时候指明支持rewrite模块就可以了. 但是换到nginx上方法会有一点不一样,网上很多人说把.htaccess ...

  7. Coding4Fun.Phone.Controls的使用

    Coding4Fun.Phone.Controls的使用: windows phone的应用一直有一个特色,那就是方块(磁贴).之前的应用中,我一直都XXXX 来实现,原来其实一直有一个更加好的方法, ...

  8. WSDL

    WSDL 彻底理解webservice SOAP WSDL WSDL 详解 http://www.cnblogs.com/hujian/p/3494064.html http://www.cnblog ...

  9. request 获取请求参数

    /** * 根据request获取请求的用户参数 * @return * @return */ protected <T> T getParamConvertEntity(Class cl ...

  10. Sqli-labs less 26

    Less-26 TIPS:本关可能有的朋友在windows下无法使用一些特殊的字符代替空格,此处是因为apache的解析的问题,这里请更换到linux平台下. 本关结合25关,将空格,or,and,/ ...