poj 3469 最大流 最小割

2021-06-09 16:02:58 字數 865 閱讀 3491

/*

題意是說有兩個cpu,現在給你n個模組,

每個模組必須在兩個cpu其中的乙個中執行,

給出每個模組在不同cpu中執行的耗費,

並且如果兩個不在同乙個cpu執行的模組之間要交換資料的話需要額外的耗費........

解法:建立超級源點 s,超級匯點 t;並對各個點拆點建立邊(s,i,ai)和(i+n,t,bi) ,(i,i+n,inf),(u,v+n,w),(v+n,u,w);

然後求最大流 最小割就ok...

*/#include#include#include#include#includeusing namespace std;

const int n=40012;

const int m=300002;

const int inf=1<<29;

int t,n,m,tot;

int gap[m],dis[m],pre[m],head[n],cur[n];

int ne,nv,sink,source;

struct node

e[m*4];

#define ff(i,nv) for(int i=0;idis[v])

}gap[ dis[u] = mindis+1 ] ++;

u = pre[u];

}return maxflow;

}void addedge(int u,int v,int c )

int main()

for(i=1; i<=m; i++)

int ans=sap(source,sink);

printf("%d\n",ans);

}return 0;

}

poj 3469 最大流 最小割 SAP演算法模板

題目 題意 有雙核處理器,有n個任務,給出每個任務在分別在兩個處理核心上工作的花費,然後有m行,每行給出兩個任務,如果兩個任務不在同乙個處理核心上工作,那麼將有額外的花費。求最小花費 思路 最小割。之前用dinic演算法做的,加上當前弧優化6000ms。省賽的時候yjj看到我的最大流板子是 dini...

最大流 最小割

真是不知道該說些什麼呀 感覺這是我見到過的網上敘述最最最詳細的乙個演算法了。可見我才學過幾個演算法qwq 我並不認為我能比網上講的要好 所以 emmm 我就打算解釋一下 不要管這迷一樣的邏輯 先去看看題解hhh 咳咳 等會兒 好了好了 qwq 言歸正傳 這裡的dinic演算法,是對edmonds k...

最小割最大流記錄

經過一系列的學習,明白了一些東西記錄一下備忘 割 是指刪除一些邊,使剩下的網路中沒有增光路,那麼可以得出max flow c s,t 割 為什麼呢?首先我們明白知道最大流一定是根據增光路得到i的,那麼割就是包含增光路的乙個集合,那麼sum c s,t 一定是在在這個 基礎上得到的,也就是割中一定包含...