HDU-1839 Delay Constrained Maximum Capacity Path 最短路
来源:互联网 发布:手机论坛下载软件 编辑:程序博客网 时间:2024/06/05 15:07
题意: n个点 m条路 T时间内最小容量最大
思路: 二分最小容量 + 最短路
由于s数组定义只定义了n( m条边 ) 纠结了一下午找不出错 QAQ 还是太粗心
#include "stdio.h"#include "string.h"#include "vector"#include "queue"#include "algorithm"using namespace std;const int maxn = 10005;const int inf = 1<<29;int n,m,T,pos;int s[maxn*5];int dis[maxn];bool vis[maxn];struct node{ int v,cap,t,next;}edge[maxn*10];int head[maxn];void add( int a,int b,int c,int d ){ edge[++pos].v = b; edge[pos].cap = c; edge[pos].t = d; edge[pos].next = head[a]; head[a] = pos;}typedef pair<int,int>pii;bool Dijkstra( int s,int Cap ){ for( int i = 1; i <= n; i ++ ) dis[i] = inf; memset( vis,0,sizeof(vis) ); priority_queue<pii,vector<pii>,greater<pii> >que; dis[s] = 0; que.push( make_pair(dis[s],s) ); while( !que.empty() ) { pii u = que.top(); que.pop(); int x = u.second; vis[x] = true; if( dis[x] > T ) return false; if( x == n ) return dis[x]; for( int i = head[x]; i != -1; i = edge[i].next ) { node v = edge[i]; if( v.cap < Cap || vis[v.v] ) continue; if( dis[v.v] > dis[x] + v.t ) { dis[v.v] = dis[x] + v.t; que.push( make_pair(dis[v.v],v.v) ); } } } return false;}void init(){ pos = 0; for( int i = 1; i <= n; i ++ ) head[i] = -1;}int main(){ //freopen( "data.txt","r",stdin ); int t,a,b,c,d; scanf("%d",&t); while( t-- ) { scanf("%d%d%d",&n,&m,&T); init(); for( int i = 0; i < m; i ++ ) { scanf("%d%d%d%d",&a,&b,&c,&d); add(a,b,c,d); add(b,a,c,d); s[i] = c; } sort(s,s+m); int ld = 0,rd = 0,mid; for( int i = 1; i < m; i ++ ) { if( s[i] != s[i-1] ) s[++rd] = s[i]; } while( ld <= rd ) { mid = (ld+rd)>>1; if( Dijkstra( 1,s[mid] ) ) { ld = mid+1; } else rd = mid-1; } printf("%d\n",s[rd]); } return 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
- hdu 1839 Delay Constrained Maximum Capacity Path
- hdu 1839:Delay Constrained Maximum Capacity Path
- DP83848硬件设计及其调试
- Labview相关驱动插件的卸载\安装——以VISA驱动为例
- Labview中函数节点控件DLL的使用
- Word中利用Mathtype/公式编辑器实…
- uboot1.1.6源码编译的EABI问题
- HDU-1839 Delay Constrained Maximum Capacity Path 最短路
- Windows下SVN服务的搭建和使用(二)-Win32Svn
- main.html 梳理1_首页js效果
- 2013年10月交易总结(12天)(-329.02)
- cocos2dx创建精灵的五种方法(包括使用图片名获取图片)
- Bit-Map算法
- 建立Linux工作环境
- MDCC2013移动开发者大会最新日程发布
- linux shell 正则表达式(BREs,EREs,PREs)差异比较