HDU 3790最短路径问题 [最短路最小花费]
题目链接:【http://acm.hdu.edu.cn/showproblem.php?pid=3790】
最短路径问题
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 25620    Accepted Submission(s): 7650
(1<n<=1000, 0<m<100000, s != t)
1 2 5 6
2 3 4 5
1 3
0 0
题解:最短路问题容易解决:最多有1000个顶点,用邻接矩阵保存边,并维护重边,DIJ(O(n^2))可以解决。在维护最短路的同时维护最小费用。如果dis[u]>dis[v]+E[u][v]||(dis[u]==dis[v]+mp[u][v]&&CO[u]>CO[v]+mp[u][v])。
#include<bits/stdc++.h>
using namespace std;
const int INF = 1e7 + ;
const int maxn = ;
int N, M;
int E[maxn][maxn], CO[maxn][maxn];
int dis[maxn], cost[maxn], vis[maxn];
void DIJ(int st, int ed)
{
for(int i = ; i <= N; i++)
dis[i] = cost[i] = INF;
dis[st] = cost[st] = ;
memset(vis, , sizeof(vis));
for(int i = ; i <= N; i++)
{
int x = -, len = INF + ;
for(int j = ; j <= N; j++)
if(!vis[j] && len > dis[j]) len = dis[x = j];
if(x == -) break;
vis[x] = ;
for(int v = ; v <= N; v++)
{
if(dis[v] > dis[x] + E[x][v] || (dis[v] == dis[x] + E[x][v] && cost[v] > cost[x] + CO[x][v]))
{
dis[v] = dis[x] + E[x][v];
cost[v] = cost[x] + CO[x][v];
}
}
}
}
int main ()
{
while(~scanf("%d%d", &N, &M))
{
if(N == && M == ) break;
int u, v, len, co;
for(int i = ; i <= N; i++)
{
for(int j = ; j <= N; j++)
E[i][j] = CO[i][j] = INF;
E[i][i] = CO[i][i] = ;
}
for(int i = ; i <= M; i++)
{
scanf("%d%d%d%d", &u, &v, &len, &co);
if(E[u][v] > len || (E[u][v] == len && CO[u][v] > co))
{
E[u][v] = E[v][u] = len;
CO[u][v] = CO[v][u] = co;
}
}
int st, ed;
scanf("%d%d", &st, &ed);
DIJ(st, ed);
printf("%d %d\n", dis[ed], cost[ed]);
}
return ;
}
HDU 3790最短路径问题 [最短路最小花费]的更多相关文章
- HDU 3790 最短路径问题 (最短路)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 简单的最短路问题,这题听说有重边.我用spfa和dijkstra写了一遍,没判重边,速度都差不多 ...
 - ACM: HDU 3790 最短路径问题-Dijkstra算法
		
HDU 3790 最短路径问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Des ...
 - HDU - 3790 最短路径问题 (dijkstra算法)
		
HDU - 3790 最短路径问题 Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费 ...
 - HDU   3790   最短路径问题    (最短路)
		
题目链接 Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. ...
 - hdu 3790 最短路径问题(双重权值,dijkstra算法)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 题目大意:题意明了,输出最短路径及其花费. 需要注意的几点:(1)当最短路径相同时,输出最小花费 ...
 - hdu 3790 最短路径dijkstra(多重权值)
		
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
 - hdu 3790 最短路径问题(两个限制条件的最短路)
		
http://acm.hdu.edu.cn/showproblem.php?pid=3790 有两个条件:距离和花费.首先要求距离最短,距离相等的条件下花费最小. dijkstra,仅仅是在推断条件时 ...
 - hdu 3790 最短路径问题(最短路,Dijsktra)
		
题目 Dijsktra基础题,只是多了一个花费,稍稍变动处理就好 #define _CRT_SECURE_NO_WARNINGS #include<string.h> #include&l ...
 - HDU 5889 Barricade(最短路+最小割水题)
		
Barricade Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
 
随机推荐
- ② 设计模式的艺术-08.桥接(Bridge)模式
			
为什么需要桥接(Bridge)模式 商城系统中常见的商品分类,以电脑为类,如何良好的处理商品分类销售的问题? 采用多层继承结构: 多层继承结构代码示例 Computer.java package co ...
 - 【BZOJ】1690: [Usaco2007 Dec]奶牛的旅行
			
[算法]01分数规划-最优比率环 [题意]给定有向图,点有收益,边有代价,重复经过的话收益不叠加而代价叠加,求从任意点开始最后回归该点的(收益/代价)最大. [题解] 和普通的分数规划不同,这里的方案 ...
 - 写一个简易浏览器、ASP.NET核心知识(3)
			
前言 先在文章前面说好了,省得大家发现我根本没有这样的头发,duang的一下一堆人骂我. 这篇文章的标题有点大,其实挺low的,我需要在开头解释一下.我这里只想写一个小的控制台,旨在模拟浏览器的htt ...
 - Xcode变量概览-summary
			
问题描述 在Xcode中断点调试时,鼠标停留在变量上,就能看到变量的信息.但对于自定义对象,通常Xcode提供的直接信息非常有限,像这样 想要了解这个对象具体的内容,需要展开左边的箭头 当开发者想要知 ...
 - 【洛谷 P1772】 [ZJOI2006]物流运输(Spfa,dp)
			
题目链接 \(g[i][j]\)表示不走在\(i\text{~}j\)时间段中会关闭的港口(哪怕只关\(1\)天)从\(1\)到\(m\)的最短路. \(f[i]\)表示前\(i\)天的最小花费.于是 ...
 - HDU   1172    猜数字   (模拟)
			
题目链接 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每猜一个数,计算机都会告诉玩家猜 ...
 - 【nginx+tomcat集群】Nginx1.12.2+Tomcat7集群+负载均衡+Session共享
			
今天想着将项目优化一下,就想的实现集群分布,在本机测试:利用nginx+tomcat实现 通过上一篇博客(http://www.cnblogs.com/qlqwjy/p/8535235.html),N ...
 - php审计学习:xdcms2.0.8注入
			
注入点Fields: 注册页面会引用如下方法: $fields 变量是从 $fields=$_POST['fields']; 这里获取, 在代码里没有过滤. 打印 fields 数据查看: 从代码上看 ...
 - C++之 extern C的作用详解
			
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码.加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C+ ...
 - 利用__attribute__((section()))构建初始化函数表【转】
			
转自: https://mp.weixin.qq.com/s?__biz=MzAwMDUwNDgxOA==&mid=2652663356&idx=1&sn=7797629530 ...