POJ 3169 差分約束 bellman

2021-05-22 18:05:23 字數 566 閱讀 6541

#include

#include

using namespace std;

#define maxn 1002

#define inf 1000000000

typedef int elem_t;

elem_t mat[maxn][maxn];

elem_t  _min[maxn];

int bellman_ford(int n,int s,elem_t* min)

mat[i][i] = 0;

}for(i  =0; i < n; i++)

for (i = 0; i < ml; i++)

for (i = 0; i < md; i++)

;if(bellman_ford( n,0,_min) ==  0)

printf("-1/n");

else

if(_min[n-1] >= inf)

printf("-2/n");

else

printf("%d/n",_min[n-1]);

return 0;

}

POJ 3169 差分約束

題意 好久沒做差分約束了,看到這道題第一想法是貪心 思路 差分約束 從i到i 1的距離 0 add i 1,i,0 對於互相討厭的牛從u到v的距離 d add v,u,d 對於互相喜歡的牛從u到v的距離 d add u,v,d 跑spfa就好了 順便判判dis 和入隊次數 by siriusren ...

poj3169 差分約束

關於差分約束,我強推這位大佬的部落格。題目是有的牛互相之間最多只能有乙個距離,有的牛最少要達到乙個距離。很容易寫出不等式,由於是要求最大值,所以是要化為小於等於號,求最短路。f i 表示i只牛在哪個位置 0 f b f a d f b f a d 等價於f a f b 0 f b f a d f a...

POJ 3169 差分約束

題意 n頭牛,按照編號從左到右排列,兩頭牛可能在一起,接著有一些關係表示第a頭牛與第b頭牛相隔最多與最少的距離,最後求出第一頭牛與最後一頭牛的最大距離是多少,如 果最大距離無限大則輸出 2,如果關係不能保證則輸出 1 題解 差分約束的入門題 差分約束就是如果dis b dis a c轉化為a到b建一...