HDU 5073 Galaxy(數學公式)

2021-06-26 12:27:24 字數 674 閱讀 9292

解題思路:每乙個點的重量都相同,所以n個點的重心就在這n個點座標的平均數中,例如1,2,3的重心就在2。那麼移動k個點就直接移動到最終的重心上,他的d^2就不會有貢獻。只要列舉n-k個長度的子串,找出最小值就好了。公式展開裡面會有一次方項和和二次方項和,這裡做字首和就可以了。

wa了兩次,第一次沒有注釋printf,第二次沒有考慮n == k的情況

#include#include#include#define max 50010

#define ll __int64

using namespace std;

ll one[max], two[max], num[max];

int n, k;

double calc(int s, int e)

int main()

if(k == n)

sort(num + 1, num + n + 1);//記得排序,題目的資料不一定公升序

double min = -1;

for(i = 1; i <= n; i++)

double tem;

for(i = 1; i + n - k - 1 <= n; i++)

if(min > tem)

}printf("%.9lf\n", min);

}}

hdu5073 思維 方差 Galaxy

背景知識很強qwq 給定一些星星,你可以刪除k個,每乙個星星 s d d.d為每個星星距離質心的距離。問你如何使sigma s 最小。展開公式得 x1 zx x1 zx x2 zx x2 zx x1 x1 x2 x2 m k zx zx 2 sigma x zx 並且發現這個結果和 區間的方差呈正相...

hdu 2014鞍山賽區 5073 Galaxy

題意 就是給你 n 個數,代表n個星球的位置,每乙個星球的重量都為 1 開始的時候每乙個星球都繞著質心轉動,那麼質心的位置就是所有的星球的位置之和 星球的個數 現在讓你移動 k 個星球到任意位置 多個星球可以在同乙個位置並且所有的星球在同一直線上 移動之後那麼它們質心的位置就可能發生變化,求 i s...

hdu 1066 數學相關

詳細說明 include include include using namespace std char s 1005 int len,mp 25 直接計算出其迴圈節為20這裡將0 19的列表於上,當n 5時直接輸出,其餘需要遞迴n 5因為這個表是刪除了所有的5的倍數的 int slove ret...