投擲硬幣(概率dp)

2022-03-03 03:42:01 字數 805 閱讀 2106

小hi有一枚神奇的硬幣。已知第i次投擲這枚硬幣時,正面向上的概率是pi。  

現在小hi想知道如果總共投擲n次,其中恰好m次正面向上的概率是多少。

input

第一行包含兩個整數n和m。

第二行包含n個實數p1, p2, ... pn。  

對於30%的資料,1 <= n <= 20  

對於100%的資料,1 <= n <= 1000, 0 <= m <= n, 0 <= pi

<= 1

output

輸出一行乙個實數表示恰好m次正面向上的概率。注意行末需要包含乙個換行符'\n'。  

輸出與標準答案誤差在0.001以內都被視為正確。

sample input

2 1

0.5 0.5

sample output

0.500000
1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;78

intn,m;

9float p[1005

];10

float dp[1005][1005

];11

//x[i][j] 表示投擲i次,j次正面的概率; 概率dp

1213

intmain()

1429

}30 printf("

%.6f\n

",dp[n][m]);

31 }

2018-03-07

hihocode 1506 投擲硬幣

描述 小hi有一枚神奇的硬幣。已知第i次投擲這枚硬幣時,正面向上的概率是pi。現在小hi想知道如果總共投擲n次,其中恰好m次正面向上的概率是多少。輸入第一行包含兩個整數n和m。第二行包含n個實數p1,p2,pn。對於30 的資料,1 n 20 對於100 的資料,1 n 1000,0 m n,0 p...

hihoCoder 1506 投擲硬幣

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述小hi有一枚神奇的硬幣。已知第i次投擲這枚硬幣時,正面向上的概率是pi。現在小hi想知道如果總共投擲n次,其中恰好m次正面向上的概率是多少。輸入第一行包含兩個整數n和m。第二行包含n個實數p1,p2,pn。對於30 的資料...

概率(2) 硬幣

平均需要拋擲多少次硬幣,才會首次出現連續的 2個正面?首先,讓我們來考慮這樣乙個問題 k 枚硬幣擺成一排,其中每一枚硬幣都可正可反 如果裡面沒有相鄰的正面,則一共有多少種可能的情況?這可以用遞推的思想來解決。不妨用 f k 來表示擺放 k 枚硬幣的方案數。我們可以把這些方案分成兩類 最後一枚硬幣是反...