题目链接
题意
$n$维平面上有一个点,坐标是,现在想找一个点$P$,试他们的欧几里得距离最短。
要求$P$的坐标满足:
1.
2.
思路
拉格朗日乘数法
贪心
现在如果没有大于0的限制我们就已经解决了这道题,现在考虑一下,如何加上这样的限制。
我们可以贪心地把一部分正数填补到负数来,让原本负数取最值的点处于边界(0),那么正数怎么来弥补呢。
经过观察可以发现,最好是正数均摊,这样产生的额外增加的比较少。想不明白可以自己画一下。
于是我们就有了这样的方案:
Code
1 |
|
顺便藏个分数模板。
$n$维平面上有一个点,坐标是,现在想找一个点$P$,试他们的欧几里得距离最短。
要求$P$的坐标满足:
1.
2.
现在如果没有大于0的限制我们就已经解决了这道题,现在考虑一下,如何加上这样的限制。
我们可以贪心地把一部分正数填补到负数来,让原本负数取最值的点处于边界(0),那么正数怎么来弥补呢。
经过观察可以发现,最好是正数均摊,这样产生的额外增加的比较少。想不明白可以自己画一下。
于是我们就有了这样的方案:
1 | #include<bits/stdc++.h> |
顺便藏个分数模板。