虽然不是求最短路,但是仍然是最短路题目,题意是要求1到N点的一条路径,由于每一段路都是双向的并且有承受能力,求一条路最小承受能力最大,其实就是之前POJ2253的翻版,一个求最大值最小,一个求最小值最大,于是只要修改最短路的更新条件就可以直接跑模板了

dij:

 #include<stdio.h>
#include<string.h>
#include<vector>
#include<algorithm>
#include<queue>
#define min(a,b) a<b?a:b
const int INF=0x3f3f3f3f;
using namespace std;
typedef pair<int,int> pii; struct cmp{
bool operator()(pii a,pii b){
return a.first<b.first;
}
}; int g[][],n,m,dist[]; void dij(int s,int p){
int i;
memset(dist,-,sizeof(dist));
dist[s]=INF;
priority_queue<pii,vector<pii>,cmp>q;
q.push(make_pair(dist[s],s));
while(!q.empty()){
pii u=q.top();
q.pop();
if(u.first<dist[u.second])continue;
for(i=;i<=n;i++){
if(~g[u.second][i]){
int j=min(u.first,g[u.second][i]);
if(dist[i]==-||dist[i]<j){
dist[i]=j;
q.push(make_pair(dist[i],i));
}
}
}
}
printf("%d\n\n",dist[p]);
} int main(){
int t;
while(scanf("%d",&t)!=EOF){
for(int q=;q<=t;q++){
int i;
memset(g,-,sizeof(g));
scanf("%d%d",&n,&m);
for(i=;i<=m;i++){
int x,y,v;
scanf("%d%d%d",&x,&y,&v);
if(g[x][y]<v){
g[x][y]=g[y][x]=v;
}
}
printf("Scenario #%d:\n",q);
dij(,n);
}
}
return ;
}

dij

spfa:

 #include<stdio.h>
#include<string.h>
#include<queue>
using namespace std;
const int MAXM=;
const int INF=0x3f3f3f3f; int g[MAXM+][MAXM+],dist[MAXM+],n,m;
bool vis[MAXM+]; void spfa(int s,int p){
int i;
memset(dist,-,sizeof(dist));
dist[s]=INF;
memset(vis,,sizeof(vis));
queue<int>q;
q.push(s);
vis[s]=;
while(!q.empty()){
int u=q.front();
q.pop();
vis[u]=;
for(i=;i<=n;i++){
int t=dist[u]<g[u][i]?dist[u]:g[u][i];
if(i!=u&&g[u][i]!=-&&dist[i]<t){
dist[i]=t;
if(!vis[i]){
q.push(i);
vis[i]=;
}
}
}
}
printf("%d\n\n",dist[p]);
} int main(){
int t;
while(scanf("%d",&t)!=EOF){
for(int q=;q<=t;q++){
int i;
scanf("%d%d",&n,&m);
memset(g,-,sizeof(g));
for(i=;i<=m;i++){
int a,b,v;
scanf("%d%d%d",&a,&b,&v);
if(g[a][b]<v){
g[a][b]=g[b][a]=v;
}
}
printf("Scenario #%d:\n",q);
spfa(,n);
}
}
return ;
}

spfa

poj1797 最短路的更多相关文章

  1. POJ-1797(最短路变形-dijkstra)

    Heavy Transportation POJ-1797 这题是最短路题型的变形,该题不是求起点到终点的最短路,而是求路径中的最小边的最大值. 这题的求解思路是:将原来dijkstra中的松弛方程改 ...

  2. POJ--1797 Heavy Transportation (最短路)

    题目电波: POJ--1797 Heavy Transportation n点m条边, 求1到n最短边最大的路径的最短边长度 改进dijikstra,dist[i]数组保存源点到i点的最短边最大的路径 ...

  3. [POJ1797] Heavy Transportation(最大生成树 || 最短路变形)

    传送门 1.最大生成树 可以求出最大生成树,其中权值最小的边即为答案. 2.最短路 只需改变spfa里面的松弛操作就可以求出答案. ——代码 #include <queue> #inclu ...

  4. poj1797 - Heavy Transportation(最大边,最短路变形spfa)

    题目大意: 给你以T, 代表T组测试数据,一个n代表有n个点, 一个m代表有m条边, 每条边有三个参数,a,b,c表示从a到b的这条路上最大的承受重量是c, 让你找出一条线路,要求出在这条线路上的最小 ...

  5. poj1797(最短路小变形)

    题目连接:http://poj.org/problem?id=1797 题意: 分析:dp[i]表示到达i点的过程中的最大承受重量,更新到i点时可能有多条路径,由优先队列堆出最大的那条即可. #inc ...

  6. (最短路) Heavy Transportation --POJ--1797

    链接: http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K To ...

  7. POJ1797 Heavy Transportation —— 最短路变形

    题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K T ...

  8. 逆着得最长路POJ1797

    POJ1797点击打开链接 这个题很是不错我感觉 很容易把这个题和上一个青蛙跳的题联系起来做,我也确实联系起来了,可还是没能完整得Ac,是因为我的算法思路还是最短路,这里错了 这个题目得要求是,从1到 ...

  9. bzoj1001--最大流转最短路

    http://www.lydsy.com/JudgeOnline/problem.php?id=1001 思路:这应该算是经典的最大流求最小割吧.不过题目中n,m<=1000,用最大流会TLE, ...

随机推荐

  1. w3c标准 dom对象 事件冒泡和事件捕获

    http://www.cnblogs.com/chengxs/p/6388779.html http://www.jb51.net/article/42492.htm W3C标准是什么? 1.表现(c ...

  2. 20170706xlVBA根据工资汇总表生成个人工资条

    Sub NextSeven20170706001() Application.ScreenUpdating = False Application.DisplayAlerts = False Appl ...

  3. Jon Snow and his Favourite Number CodeForces - 768C (技巧)

    链接 题意 给定数组, 每次操作先将数组排序, 再将奇数位全部异或x, 求k次操作后数组最大值与最小值 (1 ≤ n ≤ 105, 0 ≤ k ≤ 105, 0 ≤ x ≤ 103) 题解 直接暴力模 ...

  4. PL/SQL Developer 使用中文条件查询时无数据的解决方法(转)

    原文地址: PL/SQL Developer 使用中文条件查询时无数据的解决方法 PL/SQL Developer 使用中文条件查询时无数据,这是由于字符集的不一致导致的. 执行以下sql命令:sel ...

  5. OAF 功能中的参数含义

    OA.jsp?OAFunc=POS_HT_SP_B_SUPP&OAPB=POS_SM_PRODUCT_BRANDING&OAHP=POS_SM_ADMIN_HOME&OASF= ...

  6. 62. 63. Unique Paths 64. Minimum Path Sum

    1. A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...

  7. 深入理解MyBatis中的一级缓存与二级缓存

    http://blog.csdn.net/weixin_36380516/article/details/73194758   先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓 ...

  8. SQL触发器实例(上)

    --1.) 创建测试用的表(testTable) if exists (select * from sysobjects where name='testTable') drop table test ...

  9. POJ 3083 Bfs+Dfs

    注意求最短路的时候用Bfs. #include<iostream> #include<stdio.h> using namespace std; int w,h,ex,ey,s ...

  10. Python Django 前后端数据交互 之 后端向前端发送数据

    Django 前后台的数据传递 严正声明:作者:psklf出处: http://www.cnblogs.com/psklf/archive/2016/05/30/5542612.html欢迎转载,但未 ...