Asa's Website

D - Distance II

cpaojitp1

最終更新日

Table of Contents

Loading...

問題

https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/10/ITP1_10_D

問題文

ミンコフスキー距離 Dxy=(i=1nxiyip)1pD_{xy} = \left( \sum_{i=1}^n |x_i - y_i|^p \right)^\frac{1}{p}pp1,2,3,1, 2, 3, \infty のときの値を求めてね。

ちなみに

となることが知られている。

制約

サンプル

I/O 1

3 1 2 3 2 0 4
4.000000 2.449490 2.154435 2.000000

考察

やるだけ。

コード

https://onlinejudge.u-aizu.ac.jp/status/users/a01sa01to/submissions/1/ITP1_10_D/judge/6370940/C++17

int main() { int n; cin >> n; vector<double> x(n), y(n); rep(i, n) cin >> x[i]; rep(i, n) cin >> y[i]; double manh = 0; double euc = 0; double minc_3 = 0; double cheb = 0; rep(i, n) { manh += abs(x[i] - y[i]); euc += pow(abs(x[i] - y[i]), 2); minc_3 += pow(abs(x[i] - y[i]), 3); cheb = max(cheb, abs(x[i] - y[i])); } euc = sqrt(euc); minc_3 = pow(minc_3, 1.0 / 3.0); cout << fixed << setprecision(10) << manh << endl << euc << endl << minc_3 << endl << cheb << endl; return 0; }