洛谷P4014 分配問題 費用流

2022-04-30 15:15:12 字數 1246 閱讀 8053

有 nn 件工作要分配給 nn 個人做。第 ii 個人做第 jj 件工作產生的效益為 c_cij​。試設計乙個將 nn 件工作分配給 nn 個人做的分配方案,使產生的總效益最大。

輸入格式:

檔案的第 11 行有 11 個正整數 nn ,表示有 nn 件工作要分配給 nn 個人做。

接下來的 nn 行中,每行有 nn 個整數 c_cij​​​,表示第 ii 個人做第 jj 件工作產生的效益為 c_cij​。

輸出格式:

兩行分別輸出最小總效益和最大總效益。

輸入樣例#1: 複製

5

2 2 2 1 2

2 3 1 2 4

2 0 1 1 1

2 3 4 3 3

3 2 1 2 1

輸出樣例#1: 複製

5

14

1 \leq n \leq 1001≤n≤100

乙個人只能修乙個工件

又是一道挺裸的費用流

從s向每個工人連容量為1,費用為0的邊

從每個工件向t連容量為1,費用為0的邊

從每個工人向每個工件連容量為1,費用為c[i][j]的邊

#include#include

#include

#include

#define addedge(x,y,z,f) add_edge(x,y,z,f),add_edge(y,x,-z,0)

using

namespace

std;

const

int inf=1e8+10

;const

int maxn=1e4+10

;int

n,m,s,t;

intc[maxn][maxn];

struct

node

edge[maxn];

int head[maxn],num=2

;inline

void add_edge(int x,int y,int z,int

f)int

dis[maxn],vis[maxn],pre[maxn];

bool

spfa()}}

return dis[t]}int

f()void

mcmf()

intmain()

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

傳送門 可以把原圖看做乙個二分圖,人在左邊,任務在右邊,求乙個帶權的最大和最小完美匹配 然而我並不會二分圖做法,所以只好直接用費用流套進去,求乙個最小費用最大流和最大費用最大流即可 1 minamoto 2 include3 include4 include5 include6 define inf...

洛谷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 行中,每行...