落谷 P1231 教輔的組成

2021-08-13 05:31:15 字數 996 閱讀 5879

恩呃呃呃…給你a,b,c三類的物品,給出a,b;b,c的匹配關係,乙個a,b,c類物品在一起就算一套物品。求出最多可以有多少套物品。

最大流的問題,建立乙個超級源點和超級匯點,然後a-b-b』-c連邊,從源點跑一次網路流然後就可以求出答案了

#include

#include

#include

#include

#include

#define maxn 1000010

#define max 999999999

using

namespace

std;

int n,m,k,s,t,c=2,ans=0;

int head[maxn],next[maxn],go[maxn],w[maxn],deep[maxn];

inline

int read()

while (c>='0'&&c<='9')

return date*w;

}void add(int x,int y,int p)

bool bfs()}}

return

false;

}int dfs(int x,int mi) else deep[v]=-1;}}

return cost;

}int dinic()

int main()

f=read();

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

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

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

for (int i=1;i<=k;i++) add(i+n+n+m,n+n+m+k+2,1);

s=n+m+k+n+1; t=n+n+m+k+2;

printf("%d\n",dinic());

return

0;}

P1231 教輔的組成

題目 啊,又是煩人的拆點,其實網路瘤一堆題都是拆點,本題顯然要把書,練習冊 53 答案 學生的福音 分開,但是,書作為中轉的地方,是具有唯一性的,不能2本53都配同一本書,這時我們還需要用拆點思想保障書是唯一的。code include include include include include...

洛谷 P1231 教輔的組成

題目背景 滾粗了的hansbug在收拾舊語文書,然而他發現了什麼奇妙的東西。題目描述 蒟蒻hansbug在一本語文書裡面發現了一本答案,然而他卻明明記得這書應該還包含乙份練習題。然而出現在他眼前的書多得數不勝數,其中有書,有答案,有練習冊。已知乙個完整的書冊均應該包含且僅包含一本書 一本練習冊和乙份...

洛谷 P1231 教輔的組成

滾粗了的hansbug在收拾舊語文書,然而他發現了什麼奇妙的東西。蒟蒻hansbug在一本語文書裡面發現了一本答案,然而他卻明明記得這書應該還包含乙份練習題。然而出現在他眼前的書多得數不勝數,其中有書,有答案,有練習冊。已知乙個完整的書冊均應該包含且僅包含一本書 一本練習冊和乙份答案,然而現在全都亂...