建圖很簡單
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...