[NOI 2006]最大獲利(最大權閉合圖)
【題目大意】:
要你建一些基地塔,現在一直建基地塔的成本和m個使用者群,每個使用者群都有需要兩個基地塔,然後還告訴你如果能滿足這個使用者群的需求就會得到的利潤,問你最大的獲利。
【題目分析】:
當年很多神牛在這題上都卡了崩~原因呢,主要有兩個,一個是沒想出來這個悲劇的最大權閉合圖的演算法,第二就是最大流演算法不好~~
第二個問題現在看來沒什麼問題,有了巨無解的SAP後讓這個資料量成了小case~~
現在就要解決這個悲劇的構圖~
我就直接說說怎麼構圖,具體證明看amber07年論文。
構圖:
s到每個基地塔連一個邊,容量為成本,每個使用者群到t連一個邊容量為利潤,然後依賴關係連邊,容量為正無窮~~
最後的答案就是所有使用者群的利潤總和減去最大流~~
P.s. Amber論文裡面的構圖是把我這個圖整個反轉過來,但是經過實測這樣過不了,就是一個原則,東西少的忘左靠就對了……
【程式碼】:
相關推薦
[NOI 2006]最大獲利(最大權閉合圖)
【題目大意】: 要你建一些基地塔,現在一直建基地塔的成本和m個使用者群,每個使用者群都有需要兩個基地塔,然後還告訴你如果能滿足這個使用者群的需求就會得到的利潤,問你最大的獲利。 【題目分析】: 當年很多神牛在這題上都卡了崩~原因呢,主要有兩個,一個是沒想出來這個悲劇的最大權閉
1497: [NOI2006]最大獲利(最大權閉合子圖)
mit 運營 void 完成 mes esp 選擇 std while 1497: [NOI2006]最大獲利 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 5503 Solved: 2673 Description
bzoj 1497 [NOI2006]最大獲利【最大權閉合子圖+最小割】
正數 bool string ios truct pac 我們 tdi cst 不要被5s時限和50000點數嚇倒!大膽網絡流!我一個5w級別的dinic只跑了1s+! 看起來沒有最大權閉合子圖的特征——限制,實際上還是有的。 我們需要把中轉站看成負權點,把p看成點權,把客
Rust 2017 調查報告:學習曲線是最大痛點(最大的問題是這門語言太偏底層了,現在做底層的少了。還有C這個繞不過去的存在)
穩定版 china 發展 1.5 原型 平臺 正在 報告 超過 Rust 官方在社區上做了一次調查,以了解用戶如何看待 Rust 的發展。調查共收到 5368 份回復,其中有 大約 2/3 的是 Rust 用戶,剩下的 1/3 是非 Rust 用戶,調查結果如下。 點此查
BZOJ 3218 A+B Problem(最大流 + 主席樹優化建圖)
分享 bzoj post 感覺 線段樹 不能 line 需要 clas 題目:A+B Problem 感謝 Nietzsche 在省選緊迫之際花 39‘ 給我講這道題。 這題我並沒有想出來,感覺又浪費一道好題了。 需要用最小割,建模方式如下(假設若 2 取黑色,1 取白
匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
line play bae log classes containe pro include aaaaaa 如下圖:要求最多可以湊成多少對對象 ? 大佬博客:https://blog.csdn.net/cillyb/article/details/55511666 模板:
LeetCode之二叉樹最大深度(簡單 二叉樹)
問題描述: 給定一個二叉樹,找出其最大深度。 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7], 3 / \ 9 20
HDU2444(二分圖的最大匹配+染色法判斷二分圖)
HDU2444 n=200,邊要開到1e5才能過。。。。。。 #include<iostream> #include<cstdio> #include<cstring> #include<queue> #
1272 最大距離(線段樹 / 排序思維)
1272 最大距離 1 秒 131,072 KB 20 分 3 級題 給出一個長度為N的整數陣列A,對於每一個數組元素,如果他後面存在大於等於該元素的數,則這兩個數可以組成一對。每個元素和自己也可以組成一
二叉樹最大深度(遞迴實現python)---LeetCode
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None #
OpenLayers官方示例詳解七之圖層的最小、最大解析度(Layer Min/Max Resolution)
目錄 一、示例簡介 二、程式碼詳解 一、示例簡介 這個示例載入了一個MapBox的瓦片圖層和一個Open Street Map的瓦片圖層,同時使用最小、最大解析度限制圖層載入的比例級別。 使用滑鼠放大兩次:MapBox圖
Educational Codeforces Round 55 (Rated for Div. 2) G Increasing Frequency(網路流 最大權閉合圖)
題目連結:http://codeforces.com/contest/1082/problem/G G. Petya and Graph time limit per test 2 seconds memory limit per test 256 megabytes inp
1459 Power Network解題報告(網路流最大流 超級源點建圖)
題目大意: 有三種結點,第一種是發電站,它能不會消耗電能;一種是使用者,他不會產生電能;再有一種就是一個我不認識的單詞,它既不會產生電也不會消耗電。每個點都有兩個屬性,產生電量,消耗電量;現在問你最多這個網路能消耗多少的電量。 分析: 網路流建圖:
二分圖大合集——二分圖最大匹配(最小覆蓋數),完美匹配以及最優匹配(帶權最大匹配)
二分圖: 定義:二分圖又稱作二部圖,是圖論的一種特殊模型。設G=(V, E)是一個無向圖,如果頂點V可分割為兩個互不相交的子集(A , B),且圖中的每條邊(i, j)所關聯的兩個定點分別屬於這兩個不同的頂點集(i in A, j in B),則稱圖G為一個二
POJ 2987 Firing (最大權閉合圖)
quest arch urn exp separate bsp -c algo logs Firing Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 12108 Accepted:
Leetcode 918:環形子陣列的最大和(最詳細的解法!!!)
給定一個由整數陣列 A 表示的環形陣列 C,求 C的非空子陣列的最大可能和。 在此處,環形陣列意味著陣列的末端將會與開頭相連呈環狀。(形式上,當0 <= i < A.length 時 C[i] = A[i],而當 i >= 0 時 C[i+A.
Leetcode 104:二叉樹的最大深度(最詳細的解法!!!)
給定一個二叉樹,找出其最大深度。 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7], 3 / \ 9 20
連續子陣列的最大和(最大連續子序列)
HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了:在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如:{6
求陣列的連續子陣列之和的最大值(一維二維)
求陣列的連續子陣列之和的最大值 輸入一個N個元素的整型陣列,數組裡有正數也有負數。陣列中連續的一個或多個整陣列成一個子陣列,每個子陣列都有一個和。求所有子陣列的和的最大值。 例如輸入的陣列為-9 -3 -2 2 -1 2 5 -7 1 5,和最大的子陣列為
程式設計之美 求陣列的子陣列之和的最大值(包含擴充套件問題解答)
本程式碼可以通過以下測試用例: 陣列:[1,-2,3,5,-3,2] 返回:8 陣列:[0,-2,3,5,-1,2] 返回:9 陣列:[-9,-2,-3,-5,-3] 返回:-2 程式碼清單如下: #include <iostream> using namesp