Entries

スポンサーサイト (この記事を編集する[管理者用])

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/995-d0acbced
この記事にトラックバックする(FC2ブログユーザー)

SRM462 DIV2 EASY - Archery (この記事を編集する[管理者用])

Source

TopCoder SRM462 DIV2 EASY (250pt)
Problem Statement

問題概要

アーチェリーの獲得得点期待値を求める問題.
同心円状に同じ幅で円がN+1個書かれている.
的の全ての場所に当確率であたるとして,それぞれの場所の点数が与えられる.

解法

簡単な幾何.
それぞれの場所の面積は,一番中の円の半径をrとして
 ( (k+1)r )^2 - ( kr )^2 = (2k+1) r
なので,この比率で加重平均をとれば良い.

C++によるスパゲッティなソースコード
// #includeとusing namespace std;は略

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

class Archery {
public:
double expectedPoints(int N, vector <int> pt) {
  int i;
  double res=0;

  rep(i,N+1) res += pt[i] * (2*i+1);
  res /= (N+1)*(N+1);

  return res;
}

};

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/995-d0acbced
この記事にトラックバックする(FC2ブログユーザー)

Appendix

Recent Articles

ブログ内検索

Ads


(プライバシーポリシー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。