洛谷P4014 分配問題(費用流)

2022-03-01 14:50:38 字數 971 閱讀 2211

傳送門

可以把原圖看做乙個二分圖,人在左邊,任務在右邊,求乙個帶權的最大和最小完美匹配

然而我並不會二分圖做法,所以只好直接用費用流套進去,求乙個最小費用最大流和最大費用最大流即可

1

//minamoto

2 #include3 #include4 #include5 #include6

#define inf 0x3f3f3f3f

7using

namespace

std;

8#define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?eof:*p1++)

9char buf[1

<<21],*p1=buf,*p2=buf;

10 inline int

read()

20const

int n=205,m=25005;21

int ver[m],next[m],head[n],edge[m],flow[m],tot=1;22

intdis[n],disf[n],n,s,t,ans,pre[n],last[n],vis[n],x;

23 queueq;

24 inline void add(int u,int v,int e,int

f)28

bool

spfa_min()42}

43}44return pre[t]!=-1;45

}46intdinic_min()56}

57return

mincost;58}

59bool

spfa_max()73}

74}75return pre[t]!=-1;76

}77intdinic_max()87}

88return

maxcost;89}

90int

main()

洛谷P4014 分配問題 費用流

有 nn 件工作要分配給 nn 個人做。第 ii 個人做第 jj 件工作產生的效益為 c cij 試設計乙個將 nn 件工作分配給 nn 個人做的分配方案,使產生的總效益最大。輸入格式 檔案的第 11 行有 11 個正整數 nn 表示有 nn 件工作要分配給 nn 個人做。接下來的 nn 行中,每行...

洛谷P4014 分配問題 最小 大費用流

題目描述 有 n 件工作要分配給 n 個人做。第 i 個人做第 j 件工作產生的效益為c ij。試設計乙個將 n 件工作分配給 n 個人做的分配方案,使產生的總效益最大。輸入格式 檔案的第 1 行有 1 個正整數 n,表示有 n 件工作要分配給 n 個人做。接下來的 n 行中,每行有 n 個整數c ...

洛谷 P4014 分配問題

有 nn 件工作要分配給 nn 個人做。第 ii 個人做第 jj 件工作產生的效益為 c cij 試設計乙個將 nn 件工作分配給 nn 個人做的分配方案,使產生的總效益最大。輸入格式 檔案的第 11 行有 11 個正整數 nn,表示有 nn 件工作要分配給 nn 個人做。接下來的 nn 行中,每行...