1096 距離之和最小
基準時間限制:1 秒 空間限制:131072 kb 分值: 20
難度:3級演算法題
x軸上有n個點,求x軸上一點使它到這n個點的距離之和最小,輸出這個最小的距離之和。
input
第1行:點的數量n。(2 <= n <= 10000)output第2 - n + 1行:點的位置。(-10^9 <= p[i] <= 10^9)
輸出最小距離之和input示例
5output示例-1-307
9
20思路:奇偶討論中位數。
code:
#include using namespace std;
const int ax= 1e4+66;
int a[ax];
int main()
int k;
sort(a,a+n);
if( n % 2 )else
long long res = 0;
for( int i = 0 ; i < n ; i ++ )
cout << res << endl;
return 0;
}
1108 距離之和最小 v2
基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
三維空間上有n個點, 求乙個點使它到這n個點的曼哈頓距離之和最小,輸出這個最小的距離之和。
點(x1,y1,z1)到(x2,y2,z2)的曼哈頓距離就是|x1-x2| + |y1-y2| + |z1-z2|。即3維座標差的絕對值之和。
input
第1行:點的數量n。(2 <= n <= 10000)output第2 - n + 1行:每行3個整數,中間用空格分隔,表示點的位置。(-10^9 <= x[i], y[i], z[i] <= 10^9)
輸出最小曼哈頓距離之和。input示例
4output示例1 1 1
-1 -1 -1
2 2 2
-2 -2 -2
18思路:
跟上面的思路一樣,但是這個是三維的,所以每一維分開討論。
code:
#include #define ll long long
using namespace std;
const int ax = 1e4+66;
int x[ax];
int y[ax];
int z[ax];
int main()
cout << res << endl;
return 0 ;
}
1110 距離之和最小 v3
基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
x軸上有n個點,每個點除了包括乙個位置資料x[i],還包括乙個權值w[i]。點p到點p[i]的帶權距離 = 實際距離 * p[i]的權值。求x軸上一點使它到這n個點的帶權距離之和最小,輸出這個最小的帶權距離之和。
input
第1行:點的數量n。(2 <= n <= 10000)output第2 - n + 1行:每行2個數,中間用空格分隔,分別是點的位置及權值。(-10^5 <= x[i] <= 10^5,1 <= w[i] <= 10^5)
輸出最小的帶權距離之和。input示例
5output示例-1 1
-3 1
0 17 1
9 1
20
思路:權值就當做這個點重複出現的次數。
code:
#include #define ll long long
using namespace std;
const ll ax = 1e4+66;
struct nodea[ax];
bool cmp( const node &a , const node &b )
int main()
sort( a , a + n , cmp );
ll tmp = len / 2 + 1 ;
ll mm;
for( ll i = 0 ; i < n ; i++ )else
} ll res = 0;
for( ll i = 0 ; i < n ; i++ )
cout << res << endl;
return 0;
}
51nod1108 距離之和最小 V2
我們寫一下就可以發現 假設符合要求的點的座標為 x,y,z 那麼ans x x1 y y1 z z1 x x1 y y2 z z2 由於求的是曼哈頓距離,x 和 y z座標之間沒有相互制約關係,所以讓x y z 分別為xi yi zi i 1 2 3 的中間點就好了 include include ...
51nod 1110 距離之和最小 V3
1110 距離之和最小 v3 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 x軸上有n個點,每個點除了包括乙個位置資料x i 還包括乙個權值w i 點p到點p i 的帶權距離 實際距離 p i 的權值。求x軸上一點使它到這n個點的帶權距離之和最小,輸出這個最小的...
51 Nod 1110距離之和最小V3
1 秒131,072 kb 40 分 4 級題 x軸上有n個點,每個點除了包括乙個位置資料x i 還包括乙個權值w i 點p到點p i 的帶權距離 實際距離 p i 的權值。求x軸上一點使它到這n個點的帶權距離之和最小,輸出這個最小的帶權距離之和。收起第1行 點的數量n。2 n 10000 第2 n...