2132 圈地計畫

2022-05-12 09:18:43 字數 2293 閱讀 9753

最近房地產商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 31 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【資料規模】

對於100%的資料有n,m≤100

最小割,轉化為求最小代價,和球隊收益差不多,但是點與點之間連流量等於c的雙向邊就好了,因為i和j相同損失的既有i的值也有j的值。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10 #include11 #include

12#define inf 1000000000

13#define maxn 100000+5

14#define maxm 500000+5

15#define eps 1e-10

16#define ll long long

17#define for0(i,n) for(int i=0;i<=(n);i++)

18#define for1(i,n) for(int i=1;i<=(n);i++)

19#define for2(i,x,y) for(int i=(x);i<=(y);i++)

20#define for3(i,x,y) for(int i=(x);i>=(y);i--)

21#define for4(i,x) for(int i=head[x],y=e[i].go;i;i=e[i].next,y=e[i].go)

22using

namespace

std;

23int

read()

26while(ch>='

0'&&ch<='9')

27return x*f;28}

29int n,m,s,t,maxflow,tot=1

,cnt,head[maxn],cur[maxn],h[maxn],q[maxn];

30int mx[4]=,my[4]=;

31struct

edgee[2*maxm];

34void insert(int u,int v,int

w);head[u]=tot;

36 e[++tot]=(edge);head[v]=tot;37}

38void ins(int u,int v,int

w);head[u]=tot;

40 e[++tot]=(edge);head[v]=tot;41}

42bool

bfs()

51return h[t]!=-1;52

}53int dfs(int x,int

f)63

if(!used)h[x]=-1;64

return

used;65}

66void

dinic()72}

73int

main()

83for1(i,n)

84for1(j,m)

89for1(i,n)

90for1(j,m) 99}

100dinic();

101 printf("

%d\n

",ans-maxflow);

102return0;

103 }

view code

bzoj2132 圈地計畫

有個n m的矩形,每個區域可以建造商業區或工業區,分別獲得ai,j和bi,j的收益。乙個格仔如果有與其相鄰的k個格仔與其型別不同,則可以帶來ci,j的收益。求最大收益 我們可知,i,j和k,l兩個格仔型別不同就會帶來ci,j ck,l的收益。這是經典的二元關係,是網路流問題。x選商業 x選工業 y選...

bzoj 2132 圈地計畫

time limit 2 sec memory limit 256 mb submit 918 solved 417 submit status discuss 最近房地產商gdoi group of dumbbells or idiots 從noi nuts old idiots 手中得到了一塊開...

BZOJ2132 圈地計畫

bzoj2132 圈地計畫 最近房地產商gdoi group of dumbbells or idiots 從noi nuts old idiots 手中得到了一塊開發土地。據了解,這塊土地是一塊矩形的區域,可以縱橫劃分為n m塊小區域。gdoi要求將這些區域分為商業區和工業區來開發。根據不同的地形...