1030ディスカバーゴールド期待lightoj

DP [i]は金を得ることを期待、i点から最後まで、表しています。

DP [I] = valの[I] +Σdp[J] / CNT(jはiが到達することができ、ステップの位置であり、CNTは、ステップに到達可能な位置の数です)

1の#include <cstdioを>
 2の#include <アルゴリズム>
 3  使用して 名前空間STDを、
4  INT T、CAS、N。
5  INTヴァル[ 105 ]。
6  二重 DP [ 105 ]。
7  INT メイン()
 8  {
 9      (scanf関数(" %のD "、&​​T);!T = 0 ; T-- 10      {
 11          CAS ++ 12          のscanf(" %d個"、&N)
13         以下のためにint型 i = 1 ; iが<= N; iが++ 14              のscanf(" %dを"ヴァル[I])。
15          DP [N] = valの[N]。
16          のためには、int型 I = N - 1 ; I> = 1 ; i-- 17          {
 18              二重和= 0 19              int型 CNT = 0 20              のためのint型 J = I + 1、J <=分(N、I + 6); J ++ 21              {
 22                  和+ = DP [J]。
23                  CNT ++ ;
24              }
 25              DP [I] = valの[I] +和/ CNT。
26          }
 27          のprintf(" ケース%のD:%.6lf \ n "、CAS、DP [ 1 ])。
28      }
 29 }

 

おすすめ

転載: www.cnblogs.com/iat14/p/11410270.html