BZOJ 3144 網路流最小割 解題報告

2021-08-02 10:29:28 字數 1632 閱讀 3303

3144: [hnoi2013]切糕

第一行是三個正整數p,q,r,表示切糕的長p、 寬q、高r。第二行有乙個非負整數d,表示光滑性要求。接下來是r個p行q列的矩陣,第z個 矩陣的第x行第y列是v(x,y,z) (1≤x≤p, 1≤y≤q, 1≤z≤r)。

100%的資料滿足p,q,r≤40,0≤d≤r,且給出的所有的不和諧值不超過1000。

output

僅包含乙個整數,表示在合法基礎上最小的總不和諧值。

sample input

2 2 2

1 6 1

6 1

2 6

2 6sample output

[解題報告]

比較詳細的題解

**如下:

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define inf 0x3f3f3f3f

#define maxv 52000

#define maxe 520000

int nume=0,head[maxv],e[maxe][3];

void

inline adde(int i,int j,int c)

int ss,tt,n,m;

int vis[maxv],lev[maxv];

bool bfs()

} }

return vis[tt];

} int dfs(int u,int minf)

} if(!sumf) lev[u]=-1;

return sumf;

} int dinic()

int p,q,r,d;

int mp[50][50][50];

int mov[4][2]=,,,};

int main()

for(int i=1;i<=p;++i)

for(int j=1;j<=q;++j)

for (int i=d+1;i<=r+1;i++)

for (int j=1;j<=p;j++)

for (int k=1;k<=q;k++)

for (int mv=0;mv<4;mv++)

if (mp[i][j+mov[mv][0]][k+mov[mv][1]])

adde(mp[i][j][k],mp[i-d][j+mov[mv][0]][k+mov[mv][1]],inf);

printf("%d\n",dinic());

return

0;}

bzoj1412 網路流最小割

狼愛上羊啊愛的瘋狂,誰讓他們真愛了一場 狼愛上羊啊並不荒唐,他們說有愛就有方向 orez聽到這首歌,心想 狼和羊如此和諧,為什麼不嘗試羊狼合養呢?說幹就幹!orez的羊狼圈可以看作乙個n m個矩陣格仔,這個矩陣的邊緣已經裝上了籬笆。可是drake很快發現狼再怎麼也是狼,它們總是對羊垂涎三尺,那首歌只...

bzoj3894 網路流 最小割 文理分科

description 文理分科是一件很糾結的事情!雖然看到這個題目的人肯定都沒有糾 結過 小p所在的班級要進行文理分科。他的班級可以用乙個n m的矩陣進行 描述,每個格仔代表乙個同學的座位。每位同學必須從文科和理科中選擇 一科。同學們在選擇科目的時候會獲得乙個滿意值。滿意值按如下的方式 得到 1 ...

bzoj2768 網路流 最小割 冠軍調查

description input 第一行兩個整數n和m,其中n 2 n 300 表示參與者的總數,m 0 m n n 1 2 表示朋友的總對數。第二行n個整數,要麼是0要麼是1。如果第i個整數的值是0的話,表示第i個人心裡認為切爾西將與冠軍無緣,如果是1的話,表示他心裡認為切爾西必將奪魁。下面m行...