網路流24題 圓桌聚餐 (最大流)

2021-08-28 01:23:36 字數 1183 閱讀 8801

假設有來自

n n

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

r

i​​。會議餐廳共有

m m

張餐桌,每張餐桌可容納 ci

c

i​​ 個代表就餐。

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

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

最大流

#include

using

namespace

std;

typedef

double db;

typedef

long

long ll;

typedef

unsigned

long

long ull;

const

int nmax = 1e6+7;

const

int inf = 0x3f3f3f3f;

const ll linf = 0x3f3f3f3f3f3f3f3f;

const ull p = 67;

const ull mod = 1610612741;

int n, m;

int ss[nmax], top;

struct dinic e[nmax<<1];

void init(int n)

int add_edge(int u, int v, int c)

bool bfs() }}

return vis[t];

}int dfs(int x, int a)

}return flow;

}int maxflow(int s, int t)

return flow;

}} dinic;

int main()

}for(int j = n + 1; j <= n + m; ++j)

int mxflow = dinic.maxflow(s, t);

if(mxflow == totpeo)

}for(int i = 1; i <= top; ++i)

printf("\n");

}} else

return

0;}

網路流24題 05 圓桌聚餐(最大流判滿流)

題目大意 有m個不同單位的代表人來參加會議,每個單位的人數是確定的,會議餐廳有n張桌子,每個桌子能容納的人數也是確定的,現在希望來自乙個單位的人不在同乙個桌子上就餐,求出滿足要求的就餐方案,並輸出方案 思路分析 設立乙個源點,連向每乙個單位,流量為每個單位來參加會議的人數 從每個單位向每個桌子連一條...

loj6004 網路流 24 題 圓桌聚餐

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

LOJ 6004 網路流 24 題 圓桌聚餐

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