帶權》=1的最短路(短-時間路徑)
dijkstra跑最短路
帶權大於》=1,bfs沒法跑,鄰接矩陣沒法跑,n=1e4,那肯定是乙個稀疏圖了,用鄰接矩陣(鏈式前向星)
容量最大——二分->滿足單調性
尋找乙個最大容量,從s到t的路徑,不超重,同時在規定時間達到t。
//#pragma gcc optimize(2)
#include
//typedef long long ll;
#define ull unsigned long long
#define int long long
#define f first
#define s second
#define endl "\n"
//<#define eps 1e-6
#define base 131
#define lowbit(x) (x&(-x))
#define pi acos(-1.0)
#define inf 0x3f3f3f3f
#define maxn 0x7fffffff
#define inf 0x3f3f3f3f3f3f3f3f
#define pa pair
#define ferma(a,b) pow(a,b-2)
#define pb push_back
#define all(x) x.begin(),x.end()
#define memset(a,b) memset(a,b,sizeof(a));
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
using
namespace std;
void
file()
const
int n=
5e5+5;
struct node
;struct edge
e[n]
;int head[n]
,pos=-1
,vis[n]
,dis[n]
;void
add_edge
(int from,
int to,
int dis)
vectorvec;
int n,m,t;
bool
check
(int mid));
while
(!pri.
empty()
));}
}}return dis[n]
<=t?
true
:false;}
signed
main()
cout<1<}return0;
}
hdu 1839(最短路 二分)
hdu 1839 1 題意 有n個點,m條路徑,1是起點,n是終點,最多tmin 經過一條路徑需要花費d分鐘,這條路徑的最大容積是c,就是只有容積小於路徑容積的貨物才能通過。問從1 n在t分鐘內,最多能運多少體積的貨物。2 思路 記錄所有的體積,從小到大排序,二分查詢最大且時間之和在t分鐘之內的體積...
hdu 2962 最短路 二分
題意 最短路上有一條高度限制,給起點和最大高度,求滿足高度最大情況下,最短路的距離 不明白為什麼列舉所有高度就不對 1 include2 include3 include4 const int maxint 999999 5 int c 1005 1005 2 dist 1005 h 1005 6 ...
hdu2363Cycling 二分 最短路
乙個無向圖 每個點都有高度,問從起點1到終點n的最高點減最低點的差值最小的前提下的最短路和這個差值 由於n 100所以可以先將這n個點按公升序排,列舉這個最短路的左邊最小mi,二分找最小的右邊ma include include include include using namespace std...