【網絡流24題】二分圖點權最大獨立集(方格取數問題)
阿新 • • 發佈:2017-11-30
程序 最大獨立集 取數 ron align desc 表示 就是 證明
Description
在一個有m*n 個方格的棋盤中,每個方格中有一個正整數。現要從方格中取數,使任意2 個數所在方格沒有公共邊,且取出的數的總和最大。試設計一個滿足要求的取數算法。
編程任務:
對於給定的方格棋盤,按照取數要求編程找出總和最大的數。
Input
第1 行有2 個正整數m和n,分別表示棋盤的行數和列數。
接下來的m行,每行有n個正整數,表示棋盤方格中的數。
Output
程序運行結束時,將取數的最大總和輸出
Sample Input
3 3 1 2 3 3 2 3 2 3 1
Sample Output
11
就是找一些點,使得互不相連,並且點權和最大。
結論是
先黑白染色一次。
S向所有黑點連一條為該權值的邊,所有白點向T連一條為該權值的邊。
黑點向周圍四個白點連無限流量的邊。
轉化為了一張圖,ans=所有點權和-最小割。
證明是
其實我認為有最大閉合權圖思想,就是說,最小割=簡單割,很顯然吧。
將左邊的邊割去,表示這些黑點不選,右邊的邊割去,表示這些白點不選,
那麽,最小割保證不連通,所以保證了這些點互不相連。
所以所以點權和-最小割=最優解。
【網絡流24題】二分圖點權最大獨立集(方格取數問題)