日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【bzoj2132】圈地计划 网络流最小割

發布時間:2023/12/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【bzoj2132】圈地计划 网络流最小割 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

最近房地產商GDOI(Group of Dumbbells Or Idiots)從NOI(Nuts Old Idiots)手中得到了一塊開發土地。據了解,這塊土地是一塊矩形的區域,可以縱橫劃分為N×M塊小區域。GDOI要求將這些區域分為商業區和工業區來開發。根據不同的地形環境,每塊小區域建造商業區和工業區能取得不同的經濟價值。更具體點,對于第i行第j列的區域,建造商業區將得到Aij收益,建造工業區將得到Bij收益。另外不同的區域連在一起可以得到額外的收益,即如果區域(I,j)相鄰(相鄰是指兩個格子有公共邊)有K塊(顯然K不超過4)類型不同于(I,j)的區域,則這塊區域能增加k×Cij收益。經過Tiger.S教授的勘察,收益矩陣A,B,C都已經知道了。你能幫GDOI求出一個收益最大的方案么?

輸入

輸入第一行為兩個整數,分別為正整數N和M,分別表示區域的行數和列數;第2到N+1列,每行M個整數,表示商業區收益矩陣A;第N+2到2N+1列,每行M個整數,表示工業區收益矩陣B;第2N+2到3N+1行,每行M個整數,表示相鄰額外收益矩陣C。第一行,兩個整數,分別是n和m(1≤n,m≤100);

任何數字不超過1000”的限制

輸出

輸出只有一行,包含一個整數,為最大收益值。

樣例輸入

3 3
1 2 3
4 5 6
7 8 9
9 8 7
6 5 4
3 2 1
1 1 1
1 3 1
1 1 1

樣例輸出

81


題解

網絡流最小割

只考慮相鄰的兩個,問題轉化為:$i$和$j$各有兩種選法:選擇A可以獲得$a_i$或$a_j$的收益;選擇B可以獲得$b_i$或$b_j$的收益;如果選擇不同,則會獲得$c_i+c_j$的收益。問最大收益。

這是一個經典的最小割模型,建圖方法:S連向i,容量為$a_i$,i連向T,容量為b_i;S連向j,容量為$b_j$,i連向T,容量為$a_j$(這兩步是反轉源匯的過程)。i和j之間連容量為$c_i+c_j$的雙向邊。

?

因此總的建圖為:黑白染色,黑點正常連,白點反轉源匯,然后相鄰的點之間連邊。答案為$\sum\limits a_i+\sum\limits b_i+\sum\limits(c_i+c_j)-mincut$。

#include <queue> #include <cstdio> #include <cstring> #define N 10010 #define M 1000010 #define pos(i , j) (i - 1) * m + j using namespace std; typedef long long ll; const int inf = 1 << 30; queue<int> q; int n , m , head[N] , to[M] , next[M] , cnt = 1 , s , t , dis[N]; ll a[110][110] , b[110][110] , c[110][110] , val[M]; void add(int x , int y , ll z) {to[++cnt] = y , val[cnt] = z , next[cnt] = head[x] , head[x] = cnt;to[++cnt] = x , val[cnt] = 0 , next[cnt] = head[y] , head[y] = cnt; } ll link(int x1 , int y1 , int x2 , int y2) {add(pos(x1 , y1) , pos(x2 , y2) , c[x1][y1] + c[x2][y2]);add(pos(x2 , y2) , pos(x1 , y1) , c[x1][y1] + c[x2][y2]);return c[x1][y1] + c[x2][y2]; } bool bfs() {int x , i;memset(dis , 0 , sizeof(dis));while(!q.empty()) q.pop();dis[s] = 1 , q.push(s);while(!q.empty()){x = q.front() , q.pop();for(i = head[x] ; i ; i = next[i]){if(val[i] && !dis[to[i]]){dis[to[i]] = dis[x] + 1;if(to[i] == t) return 1;q.push(to[i]);}}}return 0; } ll dinic(int x , ll low) {if(x == t) return low;ll temp = low , k;int i;for(i = head[x] ; i ; i = next[i]){if(val[i] && dis[to[i]] == dis[x] + 1){k = dinic(to[i] , min(temp , val[i]));if(!k) dis[to[i]] = 0;val[i] -= k , val[i ^ 1] += k;if(!(temp -= k)) break;}}return low - temp; } int main() {int i , j;ll ans = 0;scanf("%d%d" , &n , &m) , s = 0 , t = n * m + 1;for(i = 1 ; i <= n ; i ++ ) for(j = 1 ; j <= m ; j ++ ) scanf("%lld" , &a[i][j]);for(i = 1 ; i <= n ; i ++ ) for(j = 1 ; j <= m ; j ++ ) scanf("%lld" , &b[i][j]);for(i = 1 ; i <= n ; i ++ ) for(j = 1 ; j <= m ; j ++ ) scanf("%lld" , &c[i][j]);for(i = 1 ; i <= n ; i ++ ){for(j = 1 ; j <= m ; j ++ ){ans += a[i][j] + b[i][j];if((i & 1) ^ (j & 1)) add(s , pos(i , j) , b[i][j]) , add(pos(i , j) , t , a[i][j]);else{add(s , pos(i , j) , a[i][j]) , add(pos(i , j) , t , b[i][j]);if(i > 1) ans += link(i , j , i - 1 , j);if(i < n) ans += link(i , j , i + 1 , j);if(j > 1) ans += link(i , j , i , j - 1);if(j < m) ans += link(i , j , i , j + 1);}}}while(bfs()) ans -= dinic(s , inf);printf("%lld\n" , ans);return 0; }

?

?

轉載于:https://www.cnblogs.com/GXZlegend/p/7434706.html

總結

以上是生活随笔為你收集整理的【bzoj2132】圈地计划 网络流最小割的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人在线精品视频 | 亚洲精品污一区二区三区 | 波多野结衣视频一区二区 | 亚洲黄色自拍 | 妞干网精品| 亚洲av无码一区二区乱子伦 | 两根大肉大捧一进一出好爽视频 | 亚洲无码一区二区三区 | 大屁股白浆一区二区三区 | 91视频影院 | 精品一区二区免费看 | 伊人97| 日韩av手机在线免费观看 | 国产精品视频免费在线观看 | 91国产免费视频 | 黄色片在线播放 | 男女爱爱网站 | 秋霞成人 | 特一级黄色大片 | 国产人妖一区 | 亚洲免费在线 | 国产黄色一区二区 | 黄色大片在线 | 亚洲精品免费观看 | 快色网站| 免费av网址大全 | 青青久久av| 日本www视频在线观看 | 日韩免费大片 | 香港三级日本三级 | 天天综合天天添夜夜添狠狠添 | 一区二区三区精品久久久 | 麻豆国产精品 | 久久久www免费人成人片 | 国产99久久久国产精品 | 动漫裸体无遮挡 | 女人扒开屁股让男人桶 | 性感美女视频一二三 | 亚洲精品鲁一鲁一区二区三区 | 91插视频| 奇米第四色在线 | 美女网站污 | 天天色宗合 | a一级网站| 有码在线视频 | 国产二页 | 自拍偷拍麻豆 | 日韩欧av | 精品人妻在线一区二区三区 | 在线亚洲+欧美+日本专区 | 高清一区在线观看 | 亚洲天堂一区二区三区 | 波多野结衣在线视频免费观看 | 伊人91视频 | 国产乱欲视频 | 欧美一级专区 | 成人在线观看视频网站 | 久久日本视频 | 国产一级二级三级在线观看 | 银娇在线观看 | 精品久久中文字幕 | 精品国产午夜福利 | 99成人在线视频 | 国产在线最新 | 国产精品国语自产拍在线观看 | 欧美精品一区二区三区四区 | 美女脱裤子让男人捅 | 欧美日本韩国 | 女人叉开腿让男人桶 | 四虎国产在线观看 | 中国黄色1级片 | 成人在线免费观看视频 | 免费av一区二区三区 | 国产久一 | 北条麻妃一区二区三区在线观看 | 中文字幕一区二区三区日韩精品 | 97人妻人人澡人人爽人人精品 | 日韩插插 | 四虎影视成人永久免费观看亚洲欧美 | 性高湖久久久久久久久免费 | 天天综合中文字幕 | 国产精品一区二区无码免费看片 | 成人综合色站 | 欧美日韩一区二区视频在线观看 | www.成人av| 婷婷综合网| 三级不卡 | 欧美一级片网址 | 亚洲成人日韩在线 | 伊人55| 四虎在线视频免费观看 | 精品视频一区二区三区 | 国产日产精品一区二区三区 | 国产一二三在线视频 | 久草视频在 | а中文在线天堂 | fexx性欧美 | av黄色在线播放 | 泽村玲子av |