time limit: 5 sec memory limit: 64 mb
submit: 6585 solved: 3195
[submit][status][discuss]
新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu集團旗下的cs&t通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究、站址勘測、最優化等專案。在前期市場調查和站址勘測之後,公司得到了一共n個可以作為通訊訊號中轉站的位址,而由於這些位址的地理位置差異,在不同的地方建造通訊中轉站需要投入的成本也是不一樣的,所幸在前期調查之後這些都是已知資料:建立第i個通訊中轉站需要的成本為pi(1≤i≤n)。另外公司調查得出了所有期望中的使用者群,一共m個。關於第i個使用者群的資訊概括為ai, bi和ci:這些使用者會使用中轉站ai和中轉站bi進行通訊,公司可以獲益ci。(1≤i≤m, 1≤ai, bi≤n) thu集團的cs&t公司可以有選擇的建立一些中轉站(投入成本),為一些使用者提供服務並獲得收益(獲益之和)。那麼如何選擇最終建立的中轉站才能讓公司的淨獲利最大呢?(淨獲利 = 獲益之和 - 投入成本之和)
輸入檔案中第一行有兩個正整數n和m 。第二行中有n個整數描述每乙個通訊中轉站的建立成本,依次為p1, p2, …, pn 。以下m行,第(i + 2)行的三個數ai, bi和ci描述第i個使用者群的資訊。所有變數的含義可以參見題目描述。
你的程式只要向輸出檔案輸出乙個整數,表示公司可以得到的最大淨獲利。
5 51 2 3 4 5
1 2 3
2 3 4
1 3 3
1 4 2
4 5 3
4【樣例說明】選擇建立1、2、3號中轉站,則需要投入成本6,獲利為10,因此得到最大收益4。【評分方法】本題沒有部分分,你的程式的輸出只有和我們的答案完全一致才能獲得滿分,否則不得分。【資料規模和約定】 80%的資料中:n≤200,m≤1 000。 100%的資料中:n≤5 000,m≤50 000,0≤ci≤100,0≤pi≤100。
最大權封閉子圖,相見胡伯濤**
把使用者群和中轉站看成n+m個點,點權的正負表示獲利還是花費
滿足使用者群vi,必須建造中轉站ai、bi,就像拓撲的層次一樣,連線
設超級源s,連線s與所有使用者群vi,所有中轉站連線超級匯t
最後跑一遍最大流
1 #include2 #include3 #include4 #include5using
namespace
std;67
const
int inf=0x7f7f7f7f;8
const
int maxn=500005;9
10struct
edge
11e[maxn];
14int node=1
,head[maxn],dis[maxn];
15int
s,t;
16int
n,m,sum,ans;
1718
void insert(int u,int v,int
w)19
;21 head[u]=node;
22 e[++node]=(edge);
23 head[v]=node;24}
2526
bool
bfs()
2741}42
return dis[t]!=-1;43
}4445int dfs(int x,int
flow)
4659
if(!used) dis[x]=-1;60
return
used;61}
6263
void
dinic()
6467
68int
main()
6978
for(int i=1;i<=m;i++)
7987
dinic();
88 printf("
%d",sum-ans);
89return0;
90 }
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 ...