P1231 教輔的組成 網路流為什麼要拆點

2021-10-02 08:14:31 字數 1239 閱讀 3247

洛谷p1231

參考部落格大佬siyuan

題意

有n1本書,n2本練習冊,n3本答案。給出m1個書和練習冊的聯絡,m2個書和答案的聯絡,一本書一本練習冊一本答案為一冊,問最多可以組成多少冊。

思路

如果只有兩樣東西就是典型的最大二分匹配問題,但這裡有三種,所以匈牙利演算法做不了,可以用最大流。建圖方法是:源點->練習冊->書(拆點)->答案->匯點。拆點很重要,下面是乙個樣例說明為什麼要拆點,拆點也就是乙個點拆成兩個的意思。

如果沒有拆點,下面的圖用最大流跑出來就是2,顯然答案並不是2,因為數只有一本。

將書的點拆成兩個點,兩點之間連一條容量為1的邊,這樣就可以限制書只用一次的條件了,答案得出就是1。

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...

洛谷 P1231 教輔的組成

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