1408確率DP lightoj

https://blog.csdn.net/moon_sky1999/article/details/98097470

 ここでブロガー、ベンNiubi神

1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3つの CONST  ダブル EPS = 1E- 9 4  INT メイン(){
 5      INT T、K1、K2。
6      のp;
7      のscanf(" %dの"、&T)。
8      INT CAS = 1 ; CAS <= T; CAS ++ ){
 9          のscanf(" %のLF "、&P)。
10          のscanf(" %D%dの"、&​​K1、&K2)。
11          のprintf(" ケース%D:" 、CAS)。
12          であれば(P <EPS)のprintf(" %d個の\ n " 、K1)。
13          他の 場合1 -p <EPS)のprintf(" %d個の\ n " 、K2)。
14          {
 15              ダブル X1 = 1 -pow(1 -p、k1- 1 )。
16              ダブル X2 = 1 -pow(P、k2- 1 )。
17              ダブル Y1 = X1 / P;
18              ダブルY2 = X2 /(1 - P)。
19              ダブル A =(×1 * Y2 + 1 Y1)/(1 -X1の*のX2)。
20              ダブル B =(Y1 * X2 + 1 Y2)/(1 -X1の*のX2)。
21              のprintf(" %.7fする\ n "、(1 -p)* A + P *はB + 1 )。
22          }
 23      }
 24      リターン 0 25 }

 

質問の意味:男ショット、フォーカスの確率pがあり、(1-P)がある確率は打つです。あなたが停止するように連続してx回を打つことができる場合は、濃度y時間の連続不足も停止します。ボールが最終的に打つ停止時間のQ.所望の数。考え:[I] I後の左端時刻からステップの所望の数を打つ連続を表すfを設定します。G [i]は連続工程の所望の数の代表は、i番目の距離の終了後に濃縮されていません。次式リストすることができ[I + 1](1-P)[1] {F [I] = P * Fを+ * G + 1グラム[I] = * G [I + 1] +(1-P)。 P *はF [1] +1 \左\ {\開始{整列} F [I] = P *はF [I + 1] +(1-P)* G [1] +1 \\ G [I] = (1-P)* G [Iは+ 1] + P * F [1]を+1しました整列エンド\ {}右\。F [I] = P * F [I 1 +] +(1-P)* G + +1 [1] G [I] = * Gは、[I + 1] + P * F + +1(1-P)[1] の境界条件 {F [X] = 0グラム[Y]は0 \左= \ {\開始整列{} F整列エンド\ [X] = 0 \\ G [Y] = 0 {} \右F [X] = 0 G [Y] = 0 答え:ANS = P * F [1] +(1-P)* G [1] ANS = P * F [1] +(1-P)* G [1] ANS = P * Fが[1] +(1-P)* G [ 1] 導出:順序:
 
 


{AB =(1-P)* G [1] + 1 = P *はF [1] +1左\ {\ \ {整列} A&アンプを始める; =(1-P)* G [1] +1 \ \ B&#038; = P *はF [1] +1端{整列} \右\。B =(1-P)* G [1] +1 = P *はF [1] +1 则原式{F [i]がG [I] = P *はF [I + 1] + = P *はF [I + 1] + \\のG [i]が&#038; A =(1-P)* G [I + 1] + B \は\ {\開始{整列} F [i]が&#038を残し。 =(1-P)* G [I + 1] + Bの\端{整列}右\。[I] F [i]がG P *はF [I + 1] + = A =(1-P)* G [I + 1] + B 求解[1]の和G F [1]:   
   
F [1] = P *はF [2] + A = P×(P *はF [3] + A)+ A = P2 * [3] + A *(1 + P)= PX-1 * fが[F X] + A *(1 + P + P 2 + ... + PX-2)= 0 + A * 1-PX-11-P = A * 1-PX-11-P =(1-PX-1)* G [1] + 1-PX-11-P。\開始{整列} [1]&#038 F; = P *はF [2] + A \\&#038; = P×(P *はF [3] + A)+ A \\&#038; = P ^ 2 * Fの[ 3] + *(1 + P)\\&#038; = P ^ {X-1} * F [X] + A *(1 + P + P ^ 2 + ... + P ^ {X-2} )\\&#038; = 0 + A * \ FRAC {1-P ^ {X-1}}、{1-P} \\&#038; = A * \ FRAC {1-P ^ {X-1}}、{1 -p} \\&#038; =(1-P ^ {X-1})* G [1] + \ FRAC {1-P ^ {X-1}}、{1-P} \端{整列}。F [1] = P *はF [2] + A = P×(P *はF [3] + A)+ A = P  2  *のF [3] + A *(1 + P)= P  、X 1  * [X] + *(1 + P + P F  2  + ... + P  X-2  )= 0 + A *  1-P 1-Pの  X-1 = A *  1-P 1-Pの  X -1 =(1-Pの  X-1       )* G [1] +  1-P 1-P  X-1  。同理G [1] = [1-(1-P)Y-1] * [1] + 1-(1-P F )Y-1PのG [1] = [1-(1P)^ {Y-1}] * F [1] + \ FRAC {1-(1P)^ {Y-1}}、{P} G [1] = [1-(1-P)  Y-1  ] * F [1] +  P 1-(1-P)  Y-1 ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎪⎪⎪⎪⎪⎪⎪⎪⎪CDEF= [1-(1P)Y-1] = 1-(1P)Y-1P =(1-PX-1)= 1-PX-11-P \左\ {\開始{整列} C&#038; = [1-(1-P)^ {Y-1}] \\ D&#038; = \ FRAC {1-(1-P)^ {Y-1}} { P} \\ E&#038; =(1-P ^ {X-1})\\ F&#038; = \ FRAC {1-P ^ {X-1}}、{1-P} \端{整列}右\。  
  
C D E F = [1-(1-P)  Y-1  ] P 1-(1-P)  Y-1 =(1-P  X-1  )1-P 1-Pの  X -1 =のC *; {G [1] fは[1] [1] + D + F \が\ {\開始{整列} G [1]&#038を左[1] = E *のGのC * Fを= F [1] + D \\ F [1]&#038; =イー・G [1] + F \端{整列}右\。G [1] fは、[1] のC *のF [1] + D = = E *のG [1] + F 求得[1] = F DE + F1-CEのF [1] = FRAC \ {DEは+ F}が{1-CEは} [1] = F  1-CE DE + FのG [1] = C *とのF [1] + D G [1] = Cの* F [1] + D G [1] = C * [1] + D F 带入ANS即可。         
   
 

すなわち、P = 0のとき、または、P = 1に注意してください。コード---------------- 免責事項:この記事は元の記事CSDNブロガー「Celestine_Jq」であり、BY-SAの著作権契約CC 4.0に従って、再現し、元のソースと、このリンクを添付してください声明。オリジナルリンクします。https://blog.csdn.net/moon_sky1999/article/details/98097470

おすすめ

転載: www.cnblogs.com/pangbi/p/11614130.html