LOJ 6004 網路流 24 題 圓桌聚餐

2021-10-23 06:55:59 字數 1854 閱讀 8387

題意:假設有來自 m

mm 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 r

ir_i

ri​。會議餐廳共有 n

nn 張餐桌,每張餐桌可容納 c

ic_i

ci​個代表就餐。

為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。

試設計乙個演算法,給出滿足要求的代表就餐方案。

連出這樣乙個圖跑最大流即可。

左部點為單位,右部點為餐桌。

乙個單位至多乙個人去某個餐桌。(所以容量為1)

如果s相連的邊的容量都沒了就合法。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define fi first

#define se second

#define lc (x<<1)

#define rc (x<<1|1)

#define g getchar()

#define mk make_pair

#define pi pair

#define pb push_back

using

namespace std;

typedef

long

long ll;

typedef

unsigned

long

long ull;

const

int n=

433,inf=

2e9;

template

<

class

o>

void

qr(o&x)

while

(isdigit

(c))x=x*

10+c-

'0',c=g;

x*=f;

}template

<

class

o>

void

qw(o x)

template

<

class

o>

void

pr1(o x)

template

<

class

o>

void

pr2(o x)

int n,m,d[n]

,st,ed,q[n]

,tot;

struct edge a[n*n]

;int len=

1,last[n]

,cur[n]

;void

ins(

int x,

int y,

int z)

; last[x]

=len;

}void

add(

int x,

int y,

int z)

bool

bfs()}

return0;

}int

dfs(

int x,

int f)}if

(!s) d[x]=0

;return s;

}int

main()

puts(""

);}return0;

}

loj6004 網路流 24 題 圓桌聚餐

題目描述 假設有來自 n n n 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri r i r i 會議餐廳共有 m m m 張餐桌,每張餐桌可容納 ci c i c i 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出滿足要求的代表...

Cogs 729 網路流24題 圓桌聚餐

網路流24題 圓桌聚餐 輸入檔案 roundtable.in 輸出檔案 roundtable.out 評測外掛程式 時間限制 1 s 記憶體限制 128 mb 問題描述 假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri i 1,2,3 m 會議餐廳共有n張餐桌,每張餐桌可...

loj6013 網路流 24 題 負載平衡

題目描述 g 公司有 n n n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最少搬運量可以使 n n n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。輸入格式 檔案的第 1 1 1 行中有 1 1 1 個正整數 n n n,表示有 n n n 個倉庫。第 2 2...