有 $\text$ 本書 $\text$本練習冊 $\text$本答案,一本書只能和一本練習冊和一本答案配對。給你一些書和練習冊,書和答案的可能的配對關係。問你最多可以配成多少套完整的書冊。
我已開始直接建立超級源點匯點,然後源點$\rightarrow $練習冊連邊,練習冊$\rightarrow $書連邊,書$\rightarrow $答案連邊,答案$\rightarrow $匯點連邊。然後直接跑 $\text$。$\text$ 了之後 $\text$ 了。後來發現如果「 書 」這個環節不進行拆點的話,會有部分練習冊和答案共用一本書。這樣就錯了。又加了拆點的過程。還是 $\text$。又發現是我的$\text$ 寫的太醜,每次增廣只能增廣 $1$ 。簡直了,又去題解,裡找了個寫的好看的 $\text$ 重新搞了一線板子,這才過了這道題。
#include #include#include
#include
using
namespace
std;
const
int maxn = 8e6+3, inf = 2147483647
;int n1, n2, n3, s, t, m, head[maxn], cnt = 1
, depth[maxn], ans;
struct
edge ed[maxn];
inline
intread()
while (c <= '
9' && c >= '
0')
return x *f;
}inline
void addedge (int x, int y, int
z) inline
bool
bfs() }}
return
false;}
inline
int dinic(int u, int
cap) }}
return
ret;
}int
main()
scanf("%d
", &m);
for(int i=1; i<=m; i++)
for(int i=1; i<=n1; i++)
while (bfs()) ans +=dinic(s, inf);
printf("%d
", ans);
}
LuoguP1231 教輔的組成
題目鏈結 蒟蒻hansbug在一本語文書裡面發現了一本答案,然而他卻明明記得這書應該還包含乙份練習題。然而出現在他眼前的書多得數不勝數,其中有書,有答案,有練習冊。已知乙個完整的書冊均應該包含且僅包含一本書 一本練習冊和乙份答案,然而現在全都亂做了一團。許多書上面的字跡都已經模糊了,然而hansbu...
P1231 教輔的組成
題目 啊,又是煩人的拆點,其實網路瘤一堆題都是拆點,本題顯然要把書,練習冊 53 答案 學生的福音 分開,但是,書作為中轉的地方,是具有唯一性的,不能2本53都配同一本書,這時我們還需要用拆點思想保障書是唯一的。code include include include include include...
落谷 P1231 教輔的組成
恩呃呃呃 給你a,b,c三類的物品,給出a,b b,c的匹配關係,乙個a,b,c類物品在一起就算一套物品。求出最多可以有多少套物品。最大流的問題,建立乙個超級源點和超級匯點,然後a b b c連邊,從源點跑一次網路流然後就可以求出答案了 include include include include...