HDU 1839 Delay Constrained Maximum Capacity Path 最短路+二分
来源:互联网 发布:java web classpath 编辑:程序博客网 时间:2024/06/05 17:11
题目来源:HDU 1839 Delay Constrained Maximum Capacity Path
题意:给你一张无向图 要从1到n运送东西 每条路都有容量限制和经过的时间 选择一条路径该路径最多能运的数量等于容量最少的那条边 并且总时间不能超过T
思路:和上一题一样 二分容量 然后做最短路判断是否最短时间小于等于T
#include <cstdio>#include <algorithm>#include <queue>#include <vector>using namespace std;const int maxn = 50010;struct edge{int u, v, h, w;};struct HeapNode{int u, d;bool operator < (const HeapNode& rhs)const{return d > rhs.d;}};vector <edge> G[maxn];int dis[maxn];bool vis[maxn];int n, m, t;void Dijkstra(int h){for(int i = 0; i <= n; i++)dis[i] = 999999999;//memset(dis, 0x7f, sizeof(dis));dis[1] = 0;memset(vis, false, sizeof(vis));priority_queue <HeapNode> Q;Q.push((HeapNode){1, 0});while(!Q.empty()){HeapNode x = Q.top();Q.pop();int u = x.u;if(vis[u])continue;vis[u] = true;for(int i = 0; i < G[u].size(); i++){ edge e = G[u][i];if(e.h < h)continue;int v = e.v;if(dis[v] > x.d + e.w){dis[v] = x.d + e.w;Q.push((HeapNode){v, dis[v]});}}}}int main(){int T;scanf("%d", &T);while(T--){scanf("%d %d %d", &n, &m, &t);for(int i = 0; i <= n; i++)G[i].clear();for(int i = 0; i < m; i++){int u, v, h, w;scanf("%d %d %d %d", &u, &v, &h, &w);G[u].push_back((edge){u, v, h, w});G[v].push_back((edge){v, u, h, w});}int l = 0, r = 2000000000, ans = -1;while(l <= r){int mid = (l + r) >> 1;Dijkstra(mid);if(dis[n] <= t){ans = mid;l = mid + 1;}else{r = mid - 1;}}printf("%d\n", ans);}return 0;}
0 0
- HDU 1839 Delay Constrained Maximum Capacity Path(二分+最短路)
- HDU-1839 Delay Constrained Maximum Capacity Path 最短路+二分
- HDU 1839 Delay Constrained Maximum Capacity Path 最短路+二分
- 【HDU】1839 Delay Constrained Maximum Capacity Path 二分+最短路
- HDU 1839 Delay Constrained Maximum Capacity Path 最短路+二分
- HDU 1839 Delay Constrained Maximum Capacity Path(最短路+二分)
- hdu 1839 Delay Constrained Maximum Capacity Path 二分+最短路
- HDU 1839 Delay Constrained Maximum Capacity Path (二分最短路)
- HDU-1839 Delay Constrained Maximum Capacity Path 最短路
- HDU 1839 Delay Constrained Maximum Capacity Path(二分+最短路)
- 【HDU 1839】 Delay Constrained Maximum Capacity Path(二分+最短路)
- hdu 1839 Delay Constrained Maximum Capacity Path(最短路+二分)
- hdu 1839 Delay Constrained Maximum Capacity Path 二分下限+最短路spfa
- HDU 1839 Delay Constrained Maximum Capacity Path(最短路+二分)
- HDU 1839 Delay Constrained Maximum Capacity Path(最短路+二分搜索)
- hdu 1839 Delay Constrained Maximum Capacity Path 二分+ spfa
- HDU 1839 Delay Constrained Maximum Capacity Path(二分+SPFA)
- hdu 1839 Delay Constrained Maximum Capacity Path【二分+SPFA】
- 黑马程序员_java中的小知识
- [连载]C#程序设计(08)--- C#核心编程-6 --- 方法
- springMVC 重定向带参数
- 背包问题
- C-枚举(11)
- HDU 1839 Delay Constrained Maximum Capacity Path 最短路+二分
- 编译c++代码,生成mex
- 判断两个数是否互素
- 配置NDK路径设置
- JavaScript获取当前日期
- C-typedef为类型取别名(12)
- 2014蓝桥杯B组初赛试题《奇怪的分式》
- 图形生成工具(funsionChartsFree and ifreeChart)
- C语言文件操作