POJ3281 Dining 最大流入門 Dinic演算法
阿新 • • 發佈:2018-12-12
**題意: ** 有N頭牛,F種食物可以製作,D種飲料可以製作 然後每行代表一頭牛的喜好,開頭兩個數fi,di表示這頭牛喜歡fi種食物,di種飲料,接下來fi個數表示喜歡的食物編號,di個數表示喜歡的飲料的編號 現在主人使用最優決策製作出F種食物和D種飲料,問怎麼喂才能使盡可能多的牛餵飽(餵飽=一份食物一份飲料,且一頭牛最多消耗一份食物和一份飲料) , 輸出最多餵飽的牛數 **思路: ** 本題關鍵是建圖,圖建完以後就是裸 dinic 建圖方法: 設1+F+D+2N+1個結點,1表示源點,1+F+D+2N+1表示匯點 * 1+1 ~ 1+F表示食物結點,1+F+1 ~ 1+F+N表示牛的編號,1+F+N+1 ~ 1+F+2N也表示牛的編號,為什麼這樣後面說明 * 1+F+2