CF1455E Four Points
四个点调整成一个正方形的四个顶点上的所需最小步数。
猜:最优方案中有一个点不需要动。
感觉证明方案最优,没有调整法以外的办法了吧。
首先,我们完全可以枚举4的组合数,来确定哪些点放置在哪些角落上。
一旦这个放置方式确定后,对于要变成左下角和左上角的点,它们的x必须一致。
因此至少付出abs(x-x')的代价。
似乎按照这个思路,直接就做完了。
我艹,忘了这样形成的是矩形,不一定是正方形。
再次猜一波:最后的正方形,是我已经调整好的矩形的基础上,再把宽边加长或者长边缩宽得到的。
首先,变成矩形,我的算法应该是最优的,因为我们付出的代价都是无法逃避的。
如果先付出代价,变成矩形,然后计算矩形变为正方形的最小代价,加起来,可能会让一个点出现来回移动的多余代价。
还是看题解。
发现是基于这么一个性质:最终的正方形,设坐标分量x1,x2,y1,y2
那么至少有一个xi是与原来四个点其中一个点的x重合,对于y来说也一样。
然后想象一下,就知道要么还有一个xi也与先前点重合,要么还有一个yi也与先前点重合。可以用调整法想象。
三个分量确定后,因为正方形边长相等,另外一个分量也确定了。
这样枚举计算即可。

浙公网安备 33010602011771号