luogu P1402 酒店之王

2022-06-13 12:18:06 字數 846 閱讀 3841

酒店之王

先大致講一下題意:

題目給定p道菜,q個房間和n個客人。

每個客人滿意的條件當且僅當那個客人分配到的房間和菜都是自己喜歡的。

想都不想直接網路流,裸題。(但是因為沒看清題意一開始瘋狂30分)

模型:這樣子只要跑一邊網路流求出最大流就行了。。(感覺沒有紫題難度)

#include using namespace std;

const int inf=1<<31-1;

queue q;

int n,p,w,s=0,t;

int rm[109][109],tmp[109],d[529],flow,maxflow;

int head[529],ver[300009],next[300009],edge[300009],tot=1;

void add(int x,int y)

bool bfs();

int dinic(int x,int flow);

int main()

for(int i=1;i<=n;i++)add(i+p,i+p+n);

for(int i=1;i<=n;i++)

}for(int i=1;i<=w;i++)add(p+2*n+i,t);

while(bfs())

while(flow=dinic(s,inf))maxflow+=flow;

cout

}bool bfs()

} }return false;

}int dinic(int x,int flow)

} return flow-res;

}

Luogu P1402 酒店之王

luogu 型別 網路最大流 建模分析 首先,我們要拆人,卻不能拆房間和菜,因為給我們的關係是人與房間和人與菜的關係,我們只能用人當做中間橋梁聯絡房間與菜。那麼思路就很清晰明了了。源點向每個房間連一條容量為1的邊 喜歡的房間向人的入點連一條容量為1的邊 人的入點向出點連一條容量為1的邊 人的出點向喜...

luoguP1402 酒店之王(網路流)

xx酒店的老闆想成為酒店之王,本著這種希望,第一步要將酒店變得人性化。由於很多來住店的旅客有自己喜好的房間色調 陽光等,也有自己所愛的菜,但是該酒店只有p間房間,一天只有固定的q道不同的菜。有一天來了n個客人,每個客人說出了自己喜歡哪些房間,喜歡哪道菜。但是很不幸,可能做不到讓所有顧客滿意 滿意的條...

luoguP1402 酒店之王(網路流)

xx酒店的老闆想成為酒店之王,本著這種希望,第一步要將酒店變得人性化。由於很多來住店的旅客有自己喜好的房間色調 陽光等,也有自己所愛的菜,但是該酒店只有p間房間,一天只有固定的q道不同的菜。有一天來了n個客人,每個客人說出了自己喜歡哪些房間,喜歡哪道菜。但是很不幸,可能做不到讓所有顧客滿意 滿意的條...