有一個平面,左下角是(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條該邊。