poj1797 最短路
虽然不是求最短路,但是仍然是最短路题目,题意是要求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 最短路的更多相关文章
- POJ-1797(最短路变形-dijkstra)
Heavy Transportation POJ-1797 这题是最短路题型的变形,该题不是求起点到终点的最短路,而是求路径中的最小边的最大值. 这题的求解思路是:将原来dijkstra中的松弛方程改 ...
- POJ--1797 Heavy Transportation (最短路)
题目电波: POJ--1797 Heavy Transportation n点m条边, 求1到n最短边最大的路径的最短边长度 改进dijikstra,dist[i]数组保存源点到i点的最短边最大的路径 ...
- [POJ1797] Heavy Transportation(最大生成树 || 最短路变形)
传送门 1.最大生成树 可以求出最大生成树,其中权值最小的边即为答案. 2.最短路 只需改变spfa里面的松弛操作就可以求出答案. ——代码 #include <queue> #inclu ...
- poj1797 - Heavy Transportation(最大边,最短路变形spfa)
题目大意: 给你以T, 代表T组测试数据,一个n代表有n个点, 一个m代表有m条边, 每条边有三个参数,a,b,c表示从a到b的这条路上最大的承受重量是c, 让你找出一条线路,要求出在这条线路上的最小 ...
- poj1797(最短路小变形)
题目连接:http://poj.org/problem?id=1797 题意: 分析:dp[i]表示到达i点的过程中的最大承受重量,更新到i点时可能有多条路径,由优先队列堆出最大的那条即可. #inc ...
- (最短路) Heavy Transportation --POJ--1797
链接: http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K To ...
- POJ1797 Heavy Transportation —— 最短路变形
题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- 逆着得最长路POJ1797
POJ1797点击打开链接 这个题很是不错我感觉 很容易把这个题和上一个青蛙跳的题联系起来做,我也确实联系起来了,可还是没能完整得Ac,是因为我的算法思路还是最短路,这里错了 这个题目得要求是,从1到 ...
- bzoj1001--最大流转最短路
http://www.lydsy.com/JudgeOnline/problem.php?id=1001 思路:这应该算是经典的最大流求最小割吧.不过题目中n,m<=1000,用最大流会TLE, ...
随机推荐
- unity项目针对IOS及Android平台的音频压缩格式
IOS : 建议采用MP3格式, Android : 建议采用Vorbis格式, 因为这两种格式分别在这两个平台上有硬件解码的支持, 硬件解码比软件解码快.
- ubuntu , 笔记本合上盖子时不关机的方法。
实测ubuntu 14.04 好使 1) 编辑 /etc/systemd/logind.conf 2) 找到 HandleLidSwitch 设置,去掉行头注释#,然后改成下面这样 HandleLid ...
- git查看本地分支关联(跟踪)的远程分支之间的对应关系,本地分支对应哪个远程分支
git branch -vv: [root@realserver git-test]# git branch -vv bug 23043a7 add new.txt master.* dev ...
- js下载图片
DownloadImgZP = imgPath => { const image = new Image(); // 解决跨域 Canvas 污染问题 image.setAttribute('c ...
- Sunday算法[原创]
一.应用: 同样的,sunday算法也是在一个字符串中查找另一个字符串出现的首地址,是Daniel M.Sunday于1990年提出的,从销量上讲,Sunday>BM>KMP,是这类问题的 ...
- dp练习(9)——最大乘积
1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Desc ...
- 059——VUE中vue-router之路由嵌套在文章系统中的使用方法:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- POJ 1062 最短路Dijstra
汉语题... 题意正如你看到的酱... 看的解题报告.思路大概是把每个点看做最高等级.然后枚举所有当前可以访问的点.进行dijstra算法.找到此时到目标点最短路.枚举完之后找到最小的点就可以了. P ...
- js弹窗那些事
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- UAC 注册表 WIN64 OS 运行时主题
首先EXE程序是32位,DelphiIDE对Project默认是启用主题的,默认情况在WIN64 OS下运行时,无管理员权限. WIN64 OS,默认情况下UAC是启用的. 上述默认情况下,EXE 是 ...