poj 1797 最短路變形dijkstra

2022-06-02 12:51:07 字數 1320 閱讀 2776

題意:題目大意:有n個城市,m條道路,在每條道路上有乙個承載量,現在要求從1到n城市最大承載量,而最大承載量就是從城市1到城市n所有通路上的最大承載量

解題思路:其實這個求最大邊可以近似於求最短路,只要修改下找最短路更新的條件就可以了

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8

using

namespace

std;

9#define mod 1000000007

10#define pb(a) push_back(a)

11const

int inf=0x3f3f3f3f;12

const

double eps=1e-5

;13 typedef long

long

ll;14

#define cl(a) memset(a,0,sizeof(a))

15#define ts printf("*****\n");

16const

int maxn=1010;17

intn,m,tt,cnt;

18int

dist[maxn][maxn];

19#define typec int

20bool

vis[maxn];

21int

pre[maxn];

22int

cost[maxn][maxn],lowcost[maxn];

23void dijkstra(int n,int

beg)

2429 lowcost[beg]=inf;

30for(int j=0;j)

3140

if(k==-1)break

;41 vis[k]=true;42

for(int i=1;i<=n;i++)

43if(!vis[i]&&min(lowcost[k],cost[k][i])>lowcost[i])

4448}49

}50intmain()

5170

/*for(i=1;i<=n;i++)

7176

printf("\n");77}

*/78 dijkstra(n,1

);79 printf("

scenario #%d:\n%d\n\n

",ca++,lowcost[n]);80}

81return0;

82 }

POJ 1797 最短路變形

題目大意 有n個城市,m條道路,在每條道路上有乙個承載量,現在要求從1到n城市最大承載量,而最大承載量就是從城市1到城市n所有通路上的最大承載量 解題思路 相當於讓選擇的那條路最小值盡量大,更改一下最短路即可 include include include include include inclu...

poj 1797 最短路變形

思路 題目意思很簡單,n個頂點,m條路,每條路上都有最大載重限制,問1 n最大載重量。其實就是一最短路的變形,定義weight i 表示源點到頂點i的最大載重量,初始化為0,之後不斷去更新就行了。1 include2 include3 include4 include5 include6 inclu...

基礎最短路三 POJ 1797

poj 1797 這題和 基礎最短路二 的poj2253 其實是差不多的 n 為1000 題意 從點1到點n,之間的 最小邊 最大為多少。和poj 1797 的反一下就好了。但是要更新起來要考慮一下小細節。裡有注釋位置。結尾要多換一行!spfa真好用,上癮了,還好記 include cstdio i...