USACO 2016 February Contest Fenced In
有一个平面,左下角是(0,0),右上角是(A,B)。
有n个平行于y轴的栅栏a1..an,表示挡在(ai,0)到(ai,B)之间。
有m个平行于x轴的栅栏b1..bn,表示挡在(0,bi)到(A,bi)之间。
这样,平面被划成了(n+1)*(m+1)块。
现在要去掉某些栅栏的一部分,使得每一块都连通。
图就不上了,一会一下吧。
求最少需要去掉多少长度的栅栏使得每一块都连通。
考虑贪心,将边处理后排序,每次取最短的边
若是平行于x轴就删去m−j+1条该边,若是平行于y轴就删去n−i+1条该边。