題目:bzoj1497、洛谷p4174。
題目大意:
建中轉站需要代價,每個使用者需要兩個中轉站,若都建立則可以得到一定收益。
求最大獲益。
解題思路:
最大權閉合子圖。
從源向使用者連容量為收益的邊,從中轉站向匯連容量為成本的邊。從使用者向其需要的中轉站連容量inf的邊。
然後答案就等於所有使用者的收益之和減去最小割。
大概意思就是,割掉收益相當於少了錢,割掉成本相當於花錢,也少了錢,而不可能割掉inf的邊。於是就這樣。
c++ code:
#include#include#include#includestd::queueq;const int inf=0x3f3f3f3f,s=0;
struct edgee[400005];
int cnt=1,n,m,head[150005],t,sum,iter[150005],level[150005];
inline int min(int a,int b)else level[e[i].to]=-1;
} return 0;
}int dinic()
}int main()
for(int i=1;i<=m;++i)
return!printf("%d\n",sum-dinic());
}
NOI2006 最大獲利
description 新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu集團旗下的cs t通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究 站址勘測 最優化等專案。在前期市場調查和站址勘測之後,公司得到了一共n個可以作為...
NOI2006 最大獲利
有n個中轉站,每乙個中轉站修建需要耗費一定費用。有m個使用者人群,每個使用者人群要通話需要有a b 兩個中轉站,滿足這個使用者人群後會獲利p。問最大獲利是多少?有正權,有負權,還有依賴關係,決定就是你啦,最大權值閉合子圖!建模就不分析了,套路題目。luogu 4174 bzoj 1497 cogs ...
NOI2006 最大獲利
把使用者和中轉站分成兩類,就是乙個二分圖了。注意到我們選擇了乙個使用者群,就必須要選擇對應的中轉站來付出代價。這不就是乙個最大權閉合子圖嘛 直接上最小割即可 如下 include include include include include include define s 0 define t ...