BZOJ1066 SCOI2007蜥蜴 最大流

2021-07-01 20:57:54 字數 700 閱讀 8113

挺顯然的最大流,源向所有有蜥蜴的點連inf邊,所有點拆成入點和出點,入店向出點連流量為高度的邊,限制流量,所有可以一步跳出去的點向匯連inf邊,跑最大流就行了。。

#include#include#include#define inf 99999999

#define maxn 1005

using namespace std;

struct edge ed[500005];

int i,j,r,c,dm,n,nd,ne=0,cnt=0,a[maxn],map[25][25],dui[500005],d[maxn],u[maxn],que[maxn];

char ch;

void add(int s,int e,int f)

void make(int x,int y,int k)

bool bfs(int s,int t)

head++;

} return d[t]!=0;

}int extend(int x,int minf,int t)

if (f==minf) d[x]=0;

return f-minf;

}int dinic(int s,int t)

int main()

scanf("\n");

} for (i=1;i<=r;i++)

scanf("\n");

} cout<

題解 bzoj1066 SCOI2007 蜥蜴

在乙個r行c列的網格地圖中有一些高度不同的石柱,一些石柱上站著一些蜥蜴,你的任務是讓盡量多的蜥蜴逃 到邊界外。每行每列中相鄰石柱的距離為1,蜥蜴的跳躍距離是d,即蜥蜴可以跳到平面距離不超過d的任何乙個石 柱上。石柱都不穩定,每次當蜥蜴跳躍時,所離開的石柱高度減1 如果仍然落在地圖內部,則到達的石柱高...

BZOJ1066 蜥蜴 做題筆記

做這題的時候被自己打的模板坑了,查了好久好久都沒查出錯。以後做題也不能過分信任某一段 而不去查它的錯了。恩,這題的背景總讓人想起科學的上網。這題的距離是指歐幾里得距離,就是sqrt x1 x2 2 y1 y2 2 我之前竟然沒有見過,按照上下左右還有對角線去遍歷,結果顯而易見。include inc...

bzoj 1066 蜥蜴(最大流)

在乙個r行c列的網格地圖中有一些高度不同的石柱,一些石柱上站著一些蜥蜴,你的任務是讓盡量多的蜥蜴逃 到邊界外。每行每列中相鄰石柱的距離為1,蜥蜴的跳躍距離是d,即蜥蜴可以跳到平面距離不超過d的任何乙個石 柱上。石柱都不穩定,每次當蜥蜴跳躍時,所離開的石柱高度減1 如果仍然落在地圖內部,則到達的石柱高...