hdu 1533 Going Home 最小費用流

2021-09-30 11:55:48 字數 694 閱讀 5652

建圖很簡單

bfs預處理地圖,距離就為費用

源點到所有m建邊,流量1費用0

m到所有h建邊,流量1費用為距離

h到所有匯點建邊,流量1費用0

#include#include#include#includeusing namespace std;

#define maxn 10005

#define maxm 1000000

#define inf 0x3f3f3f3

#define getid(x,y) x*m+y

int dx=;

int dy=;

struct node

e[maxm];

int n,m,head[maxn],pre[maxn],dist[maxn],vis[maxn],ans;

bool use[105][105];

int en,s,t,maxflow,mincost; //s源點,t匯點

void add(int u,int v,int c,int f)//加邊

int spfa()}}

}}int main()

{ while(scanf("%d%d",&n,&m)!=eof)

{ if(n==0&&m==0) break;

init();

vectorv;

for(int i=0;i

hdu1533 KM演算法逆向版

思路 原版km演算法求的是最大權值完美匹配,這題要求的是最小權值完美匹配,第一種思路,把邊取負,跑最大權值km演算法,得到的答案取負即可。include using namespace std const int maxn 103 const int inf 0x3f3f3f3f int w max...

hdu 1533 最小費用最大流

解題思路 首先要知道怎麼寫最大流,不懂的可以先轉個場 網路流 那麼最小費用最大流就是現在每個邊不只有容量了,還有乙個花費,就是單位流量流過要的花費。要求你求出在最大流的情況下的最小花費,所以之前我們再求最大流不考慮花費的情況下,只要能達到最大流就可以了,並不用去考慮流量是走哪些邊的,現在就是要考慮了...

HDU 1533 最小費用最大流(模板)

這道題直接用了模板 題意 要構建乙個二分圖,家對應人,連線的權值就是最短距離,求最小費用 要注意void init int n 這個函式一定要寫 一開始忘記寫這個wa了好幾發 還有這個題很容易t掉,賦值建圖要簡化,一開始構建成網路流那種圖一直t include include include inc...