BZOJ 1324 Exca 神劍 最小割

2021-09-08 17:33:00 字數 976 閱讀 2388

標題效果:鑑於加權值矩陣,帶走乙個地方的權利值之後,與其相鄰的格兒童權利值變0。問多少可以取出到右值。

思維:amber**題目。不難建設,圖著色。顏色從s連邊,還有一種顏色向t連邊。再把相鄰的格仔連邊。之後跑最小割,用總權值減去最大流就是答案。

code:

#include #include #include #include #include #define max 400

#define maxp 40000

#define maxe 500010

#define inf 0x3f3f3f3f

#define s 0

#define t 39999

using namespace std;

const int dx = ;

const int dy = ;

int m,n,cnt;

int src[max][max],num[max][max];

int head[maxp],total = 1;

int next[maxe],aim[maxe],flow[maxe];

int deep[maxp];

inline void add(int x,int y,int f)

bool bfs()

} return false;

}int dinic(int x,int f)

return f - temp;

}int main()

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

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

} int max_flow = 0;

while(bfs())

max_flow += dinic(s,inf);

cout << sum - max_flow << endl;

return 0;

}

BZOJ1324 Exca王者之劍

description input 第一行給出數字n,m代表行列數.n,m均小於等於100 下面n行m列用於描述數字矩陣 output 輸出最多可以拿到多少塊寶石 sample input 2 21 2 2 1sample output 4可以發現,所有能取得寶石的點必定是不相鄰的,如果本題點權都為...

BZOJ 1324 Exca王者之劍 最小割

題目大意 給定乙個n m的矩陣,每個格仔有寶石,人任選位置出發,取走當前位置的寶石之後四周的寶石消失,然後可以走兩步,重複上述過程 容易發現乙個格仔取了那麼四周的格仔都不能取 於是方格取數問題 黑白染色 黑色點連源 白色點連匯 流量為格仔的權值 黑白之間連邊 流量為正無窮 用總和減去最大流就是答案 ...

bzoj 1324 Exca王者之劍(最小割)

time limit 10 sec memory limit 162 mb submit 477 solved 245 submit status discuss 第一行給出數字n,m代表行列數.n,m均小於等於100 下面n行m列用於描述數字矩陣 輸出最多可以拿到多少塊寶石 2 2 1 22 1 ...