- 収集バグ

1  / * Iクロックを完了するまでの日数としてDP [I] [j]は、j個のサブシステムの必要を定義し、それは明らかDPである[I] [j]は4つの状態から転送された
 2つの P1 = Iは、J /(N * Sを* ) 
 。3  P2 =(ニッケル)* J /(N * S) 
 。4つの P3 = I *は(SJ)/(N * S) 
 。5  P4 =(ニッケル)*(SJ)/(N * S)
 。6  が、DPのための[ I] [j]は、この時間は明らかに、I] [j]が0である[DPは、転送できない
 7  転位の方法によってこの時点で、DPは、[i] [j]は左に、得ることができますDP転写式[I] [j]は 
 8  状態4、* / 
9の#include <iostreamの>
 10の#include <キュー>
 11の#include <CStringの>
 12で 使用し た名前空間STD;
 13であるのtypedef ロング ロングLL;
 14  const  int型 MAXN = 1E5 +5 ; 
15  二重 DP [ 1005 ] [ 1005 ]。
16  のint main()の
 17  {
 18      int型N、S。
19      一方(CIN >> N >> S)
 20      {
 21          のmemset(DP、0はsizeof (DP))。
22          のためには、int型 I = N; I> = 0 ; i-- 23          {
 24              のためにINT J = S; J> = 0 ; j-- 25              {
 26                 もし(n iはjは== Sを&& ==)続けます27                  ダブル P =私は* 1.0 / nと、ダブル Q = J * 1.0 /のS;
28                  // coutの<< P <<」「<< Q <<てendl; 
29                  DP [I] [J] =((1 -p)*(1 -q)*(DP [I + 1 ] [j + 1 ])+(1 -p)* Q×(DP [I + 1 ] [J ])+ P *(1 -q)*(DP [I]、[J + 1 ])+ 1)/(1 -p * Q)。
30              }
 31          }
 32          のprintf("%.4lf \ n "、DP [ 0 ] [ 0 ]);
 33      }
 34      リターン 0 ;
 35 }

 

おすすめ

転載: www.cnblogs.com/Msmw/p/11236777.html