luoguP4174 NOI2006 最大獲利

2022-05-07 20:06:11 字數 891 閱讀 7706

獲得一條邊的價值必須選上兩點,這一看就是最大權閉合子圖。

先將所有價值選上。

從\(s\)向每個使用者\(i\)連容量為\(c_i\)的邊,從每個中轉站\(i\)向匯點連容量為\(cost_i\)的邊,對於每個使用者\(i\)從\(i\)向\(a_i\)和\(c_i\)連容量為\(inf\)的邊。

之後跑最小割,用答案減去即可。

code:

#includeusing namespace std;

const int maxn=5010;

const int maxm=50010;

const int inf=1e9;

int n,m,cnt_edge=1,s,t,ans;

int cost[maxn],head[maxn+maxm],cur[maxn+maxm],dep[maxn+maxm];

struct edgee[(maxn+maxm*3)<<1];

inline int read()

while(c>='0'&&c<='9')res=res*10+c-'0',c=getchar();

return res*f;

}inline void add(int u,int v,int w)

inline void addflow(int u,int v,int w)

inline bool bfs()

}return dep[t]>0;

}int dfs(int x,int lim)

return lim-res;

}inline int dinic()

int main()

printf("%d",ans-dinic());

return 0;

}

P4174 NOI2006 最大獲利

洛谷傳送門 題意 有n個中轉站建造方案,每個中轉站有乙個建造的費用,有m個使用者群,每個使用者群能帶來一定的收益,但是每個使用者群都會指定兩個中轉站必須建造,問最大可能收益 思路 最大權閉合圖 定義 在有向圖中,每個點有乙個權值,取乙個點集,使得沒有乙個點有向外指的邊,這樣的權值最大的點集。可以發現...

P4174 NOI2006 最大獲利

最小割看很多人都是用最大權閉合子圖來做的,其實就是對於每個使用者 節點都建立點,然後使用者是正權 獲得收益 通訊節點是負權 需要成本 然後使用者向所需要的節點連邊,表示如果想得到這個正權,就必須把所需的負權節點也選上 也就是所選子圖必須閉合 所以就用常規的做法,建模成網路流,s 向所有節點連流量為成...

洛谷P4174 NOI2006 最大獲利

新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu 集團旗下的 cs t 通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究 站址勘測 最優化等專案。在前期市場調查和站址勘測之後,公司得到了一共 n 個可以作為通訊訊號中轉站...