bzoj1189
luogu3191
看上去很像網路流但是還是不會做啊!!!
正解要二分答案然後網路流判定能否走出去,因為乙個時刻只能出去乙個人,所以門是有流量限制的,這樣看是否滿流就行了。
然後建圖要注意只有能到的點才向門連邊,不要「穿牆」。
upd:bzoj的資料好像卡了這種建圖方法……所以要把門拆成時刻建圖,麻煩的要死……就沒有寫……
const int n = 410;
const int m = 20 * n * n * 2;
const int inf = 0x3f3f3f3f;
int hd[n], to[m], nxt[m], cap[m], cnt;
int d[n], qhd, qtl, q[n], s, t;
int n, m, id[n][n];
char mp[40][40];
void init()
void adde(int x, int y, int z)
void adde(int x, int y, int z)
bool bfs()
if (d[t]) break;
}return d[t];
}int dfs(int x, int flw)
}return ret;
}int dinic()
return flw;
}int vis[n][n];
void adde(int x, int y, int tx, int ty, int mxd)
bool check(int x) else if (mp[i][j] == 'd') }}
return dinic() == tot;
}void main() else
}if (~ans)
printf("%d\n", ans);
else
puts("impossible");
}
每次網路流的題都要調好久啊,這樣下去不就gg了嗎…… HNOI2007 緊急疏散
二分 網路流判定 首先處理出每個人和門間的距離 二分時間,連邊時把每個門拆成mid個,乙個人能在mid時間內到達,他也可以在這等一會兒,那麼這mid個門之間連邊 如果可以在x的時間內到達,那麼x mid之間他都可以出去,所以門向門加一連邊 奉上未ac 千萬別複製 include define il ...
HNOI2007 最小矩形覆蓋
給定一些點的座標,要求求能夠覆蓋所有點的最小面積的矩形,輸出所求矩形的面積和四個頂點座標 輸入格式 第一行為乙個整數n 3 n 50000 從第2至第n 1行每行有兩個浮點數,表示乙個頂點的x和y座標,不用科學計數法 輸出格式 第一行為乙個浮點數,表示所求矩形的面積 精確到小數點後5位 接下來4行每...
HNOI2007 最小矩形覆蓋
給定一些點的座標,要求求能夠覆蓋所有點的最小面積的矩形,輸出所求矩形的面積和四個頂點座標 第一行為乙個整數n 3 n 50000 從第2至第n 1行每行有兩個浮點數,表示乙個頂點的x和y座標,不用科學計數法 第一行為乙個浮點數,表示所求矩形的面積 精確到小數點後5位 接下來4行每行表示乙個頂點座標,...