反省点はあるにせよ、自己ベスト順位を取って赤復活。レートも自己ベストに。
http://codeforces.com/contest/453/problem/A
問題
整数M,Nが与えらえる。
M面サイコロをN回投げるとき、目の最大値の期待値を求めよ。
解法
最大値がxとなる確率は、(N回全部x以下の確率)-(N回全部x未満の確率)なので。
後はサイコロの目を掛ければ期待値。
先にx^Nや(x-1)^Nの計算をして後でM^Nで割ってる人がいたが、double型からそれだとあふれる。
int N,M; void solve() { int f,i,j,k,l,x,y; cin>>M>>N; double ret=0; for(i=1;i<=M;i++) ret+=i*(pow(i/(double)M,N)-pow((i-1.0)/M,N)); _P("%.12lf\n",ret); }
まとめ
最初はもう少し面倒なコードを書いてしまった。