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條該邊。

相關文章
相關標籤/搜索