USACO 2016 February Contest Fenced In

有一个平面,左下角是(0,0),右上角是(A,B)。排序

有n个平行于y轴的栅栏a1..an,表示挡在(ai,0)到(ai,B)之间。block

有m个平行于x轴的栅栏b1..bn,表示挡在(0,bi)到(A,bi)之间。

这样,平面被划成了(n+1)*(m+1)块。

如今要去掉某些栅栏的一部分,使得每一块都连通。

图就不上了,一会一下吧。

求最少须要去掉多少长度的栅栏使得每一块都连通。


考虑贪心,将边处理后排序,每次取最短的边

如果平行于x轴就删去m−j+1条该边,如果平行于y轴就删去n−i+1条该边。

相关文章
相关标签/搜索