https://blog.csdn.net/moon_sky1999/article/details/98097470
여기 블로거, 벤 Niubi 하나님
1 #INCLUDE <. 비트 / stdc ++ H> 2 사용 스페이스 성병; 3 CONST 두 EPS 1e- = 9 ; 4 INT 의 main () { 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 \ 없음 ' , K1); (13) 그 밖의 경우 ( 1 명 -p <EPS)의 printf ( " % D \ 없음 " , 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 = (X1 *의 Y2에서의 + Y1) / ( 1 - X1에서의 * X2); 20 번 B = (Y1 *의 2 배의 + Y2) / ( 1 - X1에서의 * X2); 21 의 printf ( " % .7f \ 없음 " ( 1 -p) * A + P *에서의 B + 1 ); 22 } 23 } 24 반환 0 ; 25 }
질문의 의미 : 남자 촬영, 초점의 확률 P가, (1-P)가 확률이 공격 할 것입니다. 당신이 중지 연속 X 시간을 칠 수 있다면, 농도의 연속 부족 Y 시간도 중지됩니다. 볼이 마지막으로 타격을 정지 할 때 질문 횟수를 원했다. 생각 : [I] f를 설정하기 전 후에 좌단 시간 단계에서 원하는 수의 타격 연속을 나타낸다. 연속적인 단계의 원하는 수의 G [I]은 대표적인 i 번째 거리 종료 후 농축되지 않는다. 다음의 수학 식을 나열 할 수 {F를 [I]가 = P * F는 [. I + 1] +. (1-P)을 * G는 [. 1] + 1g [I]가 =. (1-P)을 * G는 [. I + 1] + 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]는 =. (1-P)을 * G는 [I + 1.] + P * F + +1 [1.] 경계 조건 : {F [X] = 0g [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 & A = (1-P) * g [1] +1 \ \ B 및 A = P *에서의 F [1] 일단 정렬 {} \ 오른쪽 \ +1. { B = (1-P) * g [1] +1 = P는 *의 F [1] +1 则原式: {F [I] g [I] = P는 *의 F [I + 1] + = P는 *의 F [내가 + 1] + A \\의 g [I] A; A = (1-P) * g [I + 1] + B \는 \ {\ 시작 {정렬} F [I] A 왼쪽; = (1-P) * g의 [I + 1] + B \ 단부 정렬 {} \ 오른쪽. { F [I] g [I] = P는 *의 F [I + 1] + A = (1-P) * g [내가 + 1] + B의 求解의 F [1]和g [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 + P2 + ... + PX-2) = 0 + A * 1 PX-11 p = A * 1 PX-11 p = (1-PX-1) * g [1] + 1-PX-11-P. \ 시작 {정렬} [1] A F = P는 *의 F [2] + A \\ 및 A = P는 * (p ◦f에 [3] + A) + A \\ 및 A = P ^ 2 * F 형 [ 3] + A * (1 + P) \\ 및 A = P ^ {X-1} * F [X] + A * (1 + P + P ^ 2 + ... + P ^ {X} -2- \\) 및 A = 0 + A * \ FRAC {1-P ^ {X-1}} {1-P} \\ 및 A = A * \ FRAC {1-P ^ {X-1}} {1 -p} \\ 및 A = (1-P ^ {X-1}) * g의 [1] + \ {1 FRAC-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] + A * (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] * F [1] + (1- 피 )의 Y-1P g [1] = [1- (1P) ^ {Y-1}] * [1] + \ FRAC {1- (1P) ^ {Y-1}} {P} F 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 및 A = [1- (1-P) ^ {Y-1}] \\ D 및 A = \ FRAC {1- (1-P) ^ {Y-1}} { P} \\ E 및 A = (1-P ^ {X-1}) \\ F 및 A = \ 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] A 좌측 [1] = E *의 g의 C *의 F를 = F [1] + D \\ F [1] A = E *의 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 *의 F [1] + D 带入ANS即可.
그 p = 0 때, P = 1 참고. 코드 ---------------- 면책 조항 :이 문서에 원래 문서 CSDN 블로거 "Celestine_Jq", 그리고 SA가에 의해-저작권 계약, 복제, 원본이 링크를 첨부하시기 바랍니다 CC 4.0에 따라입니다 문. 원본 링크 : HTTPS : //blog.csdn.net/moon_sky1999/article/details/98097470