NOI 2006 最大獲利

2022-05-13 07:06:51 字數 1144 閱讀 7557

要建\(n\)個站,建第i個站的花費\(p_i\)。

有\(m\)個收益機會,當第\(a_i\)和第\(b_i\)個站都被建立時可以得到收益\(c_i\).

問最大收益為多少。

\(n\le5000,m\le50000,0\le c_i,p_i\le100\)

考慮剛開始你能獲得全部收益,然後要丟掉一些虧錢的。。

考慮網路流求最小割。

對於所有i,建立\(s \rightarrow i\)的邊權為\(p_i\)的邊.

對於所有機會i,建立\(a_i\rightarrow i+n\),\(b_i \rightarrow i+n\)邊權為inf,以及\(i+n \rightarrow t\),邊權為\(c_i\).

那麼就是最小割了

網路流日常打錯:

1.bfs忘加必須有流量的限制。。

const int n=510,m=250010;

int n,m;

int p[n];

struct peo

}a[m];

namespace flow

inline void con(int x,int y,int c)

int stp[all];

inline bool bfs(int s)

}} return stp[t]!=stp[0];

} int cur[all];

inline int dfs(int u,int f)

}} return 0;

} inline int dinic() while(add);

} return flow;

} inline void construct()

for(int i=1;i<=m;i++)

} inline int main()

}int sum=0;

signed main()

for(int i=1;i<=n;i++) read(p[i]);

int ans=flow::main();

printf("%d\n",sum-ans);

return 0;

}

用時:25min

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