题意:就是给你 n 个数,代表n个星球的位置,每一个星球的重量都为 1 !
开始的时候每一个星球都绕着质心转动,那么质心的位置就是所有的星球的位置之和 / 星球的个数
现在让你移动 k 个星球到任意位置(多个星球可以在同一个位置并且所有的星球在同一直线上)
移动之后那么它们质心的位置就可能发生变化,求 I = sum(di^2) di (表示第i个星球到达质心的距离)最小!
设d为n-k个星球的质心位置,如果I值最小,那么移动的k个星球一定都放在另外n-k个星球的质心上,
并且这n-k个星球一定是连续的!越密集方差越小嘛.....
x1, x2, x3, x4,....x(n-k)表示余下n-k个星球的位置
思路:I = sum(di^2) = (x1-d)^2 + (x2-d)^2 + (x3-d)^2 ....
= sum(xi^2) + (n-k)*d*d - 2*d*sum(xi);
View Code
本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/4044063.html,如需转载请自行联系原作者