Description
题目链接:BZOJ 1001
现在小朋友们最喜欢的”喜羊羊与灰太狼”,话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形:
左上角点为 $(1,1)$,右下角点为 $(n,m)$(上图中 $N=3,M=4$)。有以下三种类型的道路:
- $(x,y)\longleftrightarrow(x+1,y)$
- $(x,y)\longleftrightarrow(x,y+1)$
- $(x,y)\longleftrightarrow(x+1,y+1)$
道路上的权值表示这条路上最多能够通过的兔子数,道路是无向的。左上角和右下角为兔子的两个窝,开始时所有的兔子都聚集在左上角 $(1,1)$ 的窝里,现在它们要跑到右下角 $(N,M)$ 的窝中去,狼王开始伏击这些兔子.当然为了保险起见,如果一条道路上最多通过的兔子数为 $K$,狼王需要安排同样数量的 $K$ 只狼,才能完全封锁这条道路,你需要帮助狼王安排一个伏击方案,使得在将兔子一网打尽的前提下,参与的狼的数量要最小。
数据范围:$1\le N,M\le 1000$
Solution
很显然是一个裸的最小割,对 $(1,1)$ 到 $(N,M)$ 依次编号,然后按照题意建边跑最短路即可 QAQ
吐槽:终于做出了 BZOJ 的 1001(大雾
当然由于这题的图是一张平面图,所以我们也可以建出对偶图,直接跑最短路,得到的就是原图的最小割。
时间复杂度:$O((NM)^3)$($\text{Dinic}$)
Code
1 |
|