C 之路高階 codevs1789(最大獲利)

2022-08-02 22:09:17 字數 1954 閱讀 4399

2023年noi全國競賽

時間限制: 2 s

空間限制: 128000 kb

題目等級 : 大師 master

新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是 挑戰。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 公司可以有選擇的建立一些中轉站(投入成本),為一些 使用者提供服務並獲得收益(獲益之和)。那麼如何選擇最終建立的中轉站才能讓 公司的淨獲利最大呢?(淨獲利 = 獲益之和 – 投入成本之和)

輸入描述 input description

輸入檔案中第一行有兩個正整數 n 和 m 。 第二行中有 n 個整數描述每乙個通訊中轉站的建立成本,依次為 p1, p2, …, pn 。 以下 m 行,第(i + 2)行的三個數 ai, bi和 ci描述第 i 個使用者群的資訊。 所有變數的含義可以參見題目描述。

輸出描述 output description

你的程式只要向輸出檔案輸出乙個整數,表示公司可以得到的最大淨獲利。

樣例輸入 sample input

5 51 2 3 4 5

1 2 3

2 3 4

1 3 3

1 4 2

4 5 3 

樣例輸出 sample output

資料範圍及提示 data size & hint

選擇建立 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。 

題解:將s與中轉站連邊,權值為花費。

將使用者群與t連邊,權值為收益。

將使用者群與中轉站連邊,權值為inf

跑最小割。

**:

#include#include

#include

#include

#define maxn 60010

#define inf 0x7fffffff

#define s 0

#define t n+1+m

using

namespace

std;

int head[maxn],dis[55010],n,m,cnt=1

,ans;

struct

ss e[

50000

<<3

];

void add(int u,int v,int

w)

void insert(int u,int v,int

w)

bool

bfs()

}return

0;

}int dfs(int x,int

inf)

return inf-rest;

} void

dinic()

intmain()

int absans=0

;

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

dinic();

printf(

"%d\n

",absans-ans);

return0;

}

CodeVS 1789 最大獲利

2006年noi全國競賽 時間限制 2 s 空間限制 128000 kb 題目等級 大師 master 新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是 挑戰。thu 集團旗下的 cs t 通訊公司在新一代通訊技術血戰的前夜,需要做 太多的準備工作,僅就站址選擇一項,就需要完成前期...

C 之路高階 codevs2439(降雨量)

2007年省隊選拔賽四川 時間限制 1 s 空間限制 64000 kb 題目等級 大師 master 我們常常會說這樣的話 x年是自y年以來降雨量最多的 它的含義是x年的降雨量不超過y年,且對於任意y輸入描述 input description 輸入僅一行包含乙個正整數n,為已知的資料。以下n行每行...

學習之路 C 模板高階

模板引數可以分為型別形參和非型別形參 型別形參 跟在class或者typename後的引數型別名稱 非型別形參 將乙個常量作為類的模板引數,在模板裡可以將該引數作為常量使用如下 template t為型別形參,n為非型別形參 class array 可以比較int,char,double等型別的引數...