UVA 11427 Expect the Expected (概率dp+推公式求期望 詳解)
題目連結:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2422
題目大意:一個人每天玩遊戲,玩一局勝利的概率為p,一天最多玩n次,如果當天某時刻勝率大於p則結束,第二天繼續玩,如果某天玩了n次勝率還是不大於p,則失敗不再玩,求玩的天數的期望
題目分析:先求一天失敗的概率q,設dp[i][j]為一天內玩了i局勝j局的概率,則q=∑dp[n][i] (i / n <= a / b),下面是dp方程:
dp[i][0] = dp[i - 1][0] * (1- p), 一局都沒勝利
dp[i][j] = dp[i - 1][j] * (1- p),第i局輸了
dp[i][j] = dp[i - 1][j - 1] * p,(a * i >= b * j),第i局勝了,這裡一定要注意,前提是勝率不能大於p,否則當天就算勝利了
因為每天玩的情況都是獨立的,最後答案E = 1 * q + 2 * q * (1 - q) + 3 * q * (1- q)^2 + ... + n * q * (1 - q)^(n - 1) (n -> ∞)
E/q = 1 + 2 * (1 - q) + 3 * (1 - q)^2 + ... + n * (1 - q)^(n - 1) ......(1)
E/q * (1 - q) = (1 - q) + 2 * (1 - q)^2 + 3 * (1 - q)^3 + ... + n * (1 - q)^n ......(2)
(1) - (2) = E = 1 + (1 - q) + (1 - q)^2 + (1 - q)^3 + ... + (1 - q)^(n - 1) - n * (1 - q)^n
好多部落格寫的都不對,雖然不影響答案,等比數列求完後面還有一項,所以最後
E = 1 / q - (1 - q)^n / q - n * (1 - q)^n,顯然(1 - q)^n / q這個在n趨向於無窮大的時候是0,至於n*(1-q)^n,令x=1-q,則0 < x < 1,令k = 1 / x,則k > 1,原式等於n / (k ^ n),然後洛必達法則,得到它的極限為0,其實你也可以說指數增長的肯定比線性快,但是這樣證更清晰吧,所以最後得到E = 1 / q,如此簡單的式子。。。orz
#include <cstdio>
#include <cstring>
int const MAX = 105;
double dp[MAX][MAX];
int main()
{
int T;
scanf("%d", &T);
for(int ca = 1; ca <= T; ca++)
{
memset(dp, 0, sizeof(dp));
int a, b, n;
scanf("%d/%d %d", &a, &b, &n);
double p = (double)a / (double)b;
dp[0][0] = 1.0;
for(int i = 1; i <= n; i++)
{
dp[i][0] = dp[i - 1][0] * (1.0 - p);
for(int j = 1; j <= n; j++)
{
dp[i][j] += dp[i - 1][j] * (1.0 - p);
if(a * i >= b * j)
dp[i][j] += dp[i - 1][j - 1] * p;
}
}
double ans = 0;
for(int i = 0; i <= n; i++)
ans += dp[n][i];
printf("Case #%d: %d\n", ca, (int) (1.0 / ans));
}
}
相關文章
- SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式公式
- Codeforces 235B Let's Play Osu! (概率dp求期望+公式變形)公式
- POJ 3744 概率dp+矩陣矩陣
- 條件概率與全概率公式公式
- 全概率公式理解公式
- 全概率公式、貝葉斯公式公式
- 概率與期望習題總結
- 【Linux】命令expect使用詳解Linux
- 條件概率、全概率、貝葉斯公式理解公式
- 全概率公式及其含義公式
- 淺談全概率公式和貝葉斯公式公式
- 概率的公理化定義和資訊量定義公式推導公式
- 【演算法學習筆記】概率與期望DP演算法筆記
- linux expect詳解(ssh自動登入)Linux
- Excel公式大全詳解 excel表格計算公式大全Excel公式
- bzoj 4899 記憶的輪廓 題解(概率dp+決策單調性優化)優化
- 詳解最大似然估計(MLE)、最大後驗概率估計(MAP),以及貝葉斯公式的理解公式
- 動態規劃之經典數學期望和概率DP動態規劃
- hdu 4089||2011年北京現場賽I題 概率dp(公式不好推)公式
- 基於概率的矩陣分解原理詳解(PMF)矩陣
- 牛客周賽 Round50 E-小紅的樹上移動 (期望dp+逆元)
- 矩陣求導公式【轉】矩陣求導公式
- 機器學習 | 詳解GBDT在分類場景中的應用原理與公式推導機器學習公式
- Http請求體詳解HTTP
- linux expect 簡單講解Linux
- 求擷取圖片等比公式公式
- UVA557 Burger 題解
- 牛客練習賽74 E CCA的期望(算概率的技巧+floyd處理)
- Lucene打分公式的推導公式
- DNS 請求報文詳解DNS
- springMVC請求流程詳解SpringMVC
- HTTP Get,Post請求詳解HTTP
- Get和Post請求詳解
- UVA 11464 Even Parity(部分列舉 遞推)
- 如何求數列的通項公式公式
- 二項式定理公式推導公式
- Java演算法 概率演算法(蒙特卡洛概率演算法求圓周率)Java演算法
- javascript中跨域請求詳解JavaScript跨域