常見網路流模型

2022-06-13 21:00:11 字數 491 閱讀 2067

描述:

\(n\) 個人,每個人有乙個狀態,存在 \(m\) 對朋友,每個人可以翻轉狀態,求翻轉次數+衝突的朋友對數的最小值

模型:

原點向 \(0\) 狀態的人連一條 \(inf\) 的邊,\(1\) 狀態向匯點連一條 \(inf\) 的邊,朋友之間連一條流量為 \(1\) 的邊,求最小割

描述:

有 \(n\) 行,\(m\) 列,每個格仔上有乙個數,不能選任意兩個有公共邊的格仔,求選出來的格仔和最大

模型:

簡單分析,我們發現 最大和 = 和值 - 最小捨棄(最小割)

所以對點進行黑白染色,\(x+y\mod 2==1\) 的點染成黑色,反之為白色,原點向白點連一條流量為白點權值的邊,黑點向匯點連一條流量為黑點權值的邊,每乙個白點向自己周圍四個黑點連一條流量為 \(inf\) 的邊,跑 \(dinic\)

網路流模板與經典模型

1.模板 dinic模板 常規的最大流模板,演算法效率能滿足大部分題 include include include includeusing namespace std define ll long long const ll n 10007 const ll m 200007 const ll ...

網路流問題的常見套路

本文在接下來的一段時間內可能會經常擴充或修改,如有謬誤敬請諒解。2017.11.24 拆點,顧名思義,就是把乙個點拆成兩個點。因為在網路流的模型中,割特指邊集而非點集,所以想要實現 可以被割掉的點 就用用到拆點思想。另外,這種方法也可以被理解為 使點同邊一樣有乙個容量上限。把點a分成兩個,乙個叫a1...

網路I O模型 5種常見的網路I O模型

阻塞與非阻塞 阻塞就是卡在那兒什麼也不做,雙方之間也沒有資訊溝通。非阻塞就是即使對方不能馬上完成請求,雙方之間也有資訊的溝通。同步與非同步 同步就是一件事件只由乙個過程處理完成,不論阻塞與非阻塞,最後完成這個事情的都是同乙個過程 非同步就是一件事由兩個過程完成,前面乙個過程通知,後面乙個過程接受返回...