演算法學習筆記 概率 期望 DP

2021-10-25 16:22:47 字數 2473 閱讀 4614

概率/期望 dp,是一種 dp,用來計算概率或者是期望。

其實我認為這種 dp 就是計算期望的,畢竟概率可以看成代價為 1 的期望。

沒有學過期望的讀者可以看看這篇文章:演算法學習筆記:概率與期望

而概率/期望 dp,最關鍵的就是期望方程。

下面看一道例題。

cf1265e beautiful mirrors

以這題為例,詳細講解期望 dp 的一般套路。

為了方便,下面直接認為 p

ip_i

pi​ 就是概率。

首先設狀態。

期望 dp 設狀態:f[i

]=從1

到i的期

望(天數

/步數/

代價/.

..

)f[i]=從 1 到 i 的期望(天數/步數/代價/...)

f[i]=從

1到i的

期望(天

數/步數

/代價/

...)

。對於這道題,f

if_i

fi​ 為從第一面鏡子到第 i

ii 面鏡子都高興的期望天數。

期望 dp 的轉移:使用 fi−

1,fi

f_,f_i

fi−1​,

fi​ 列期望方程。

列期望方程是重點!不能列錯!還有不要解錯

第 ii

i 天詢問失敗,從頭開始。

此時概率為 1−p

i1-p_i

1−pi

​,消耗天數為 fi−

1+1+

fi

f_+1+f_i

fi−1​+

1+fi

​,於是概率乘代價為 (1−

pi)(

fi−1

+1+f

i)

(1-p_i)(f_+1+f_i)

(1−pi​

)(fi

−1​+

1+fi

​)。第 i

ii 天詢問成功。

此時概率為 p

ip_i

pi​,消耗天數 fi−

1+

1f_+1

fi−1​+

1,於是概率乘代價為 pi(

fi−1

+1

)p_i(f_+1)

pi​(fi

−1​+

1)。

綜上,有 fi=

(1−p

i)(f

i−1+

1+fi

)+pi

(fi−

1+1)

f_i=(1-p_i)(f_+1+f_i)+p_i(f_+1)

fi​=(1

−pi​

)(fi

−1​+

1+fi

​)+p

i​(f

i−1​

+1)。

然而 p

ip_i

pi​ 只是概率,真正**中還需要除以 100 才行。

除以 100 之後最後解得 fi=

100(fi

−1+1

)p

if_i=\dfrac+1)}

fi​=pi

​100

(fi−

1​+1

)​,線性遞推即可,不要忘記逆元。

總結一下期望 dp 的一般套路:

設狀態 f

if_i

fi​ 為從 1 到 i

ii 的期望天數/步數/…

列出關於 fi−

1f_

fi−1

​ 和 f

if_i

fi​ 的期望方程。解方程,然後線性遞推。

如果有特別的初值要加上。

幾個注意點:

期望方程不要列錯,一定要考慮到每一種情況。方程不要解錯

初值不能漏。

例題的**:

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

2e5+

10, p =

998244353

;int n, p[maxn]

;ll f[maxn]

;int

read()

while

(ch >=

'0'&& ch <=

'9')

return sum * fh;

}ll ksm

(ll a, ll b)

return ans;

}int

main()

概率/期望 dp 的練習題請前往 dp 演算法總結&專題訓練1(概率/期望 dp & 數字 dp)。

學習筆記 期望DP題單 概率,期望DP

目錄貳 典例營 做過很多期望的題了,但是一直沒有系統地學習過期望,這幾天終於有時間攻堅這個重要但是對我而言難得一匹的問題了.實際上我 dp 也菜得一匹。傳送門 to oi wiki 一般我們使用 p x 表示 x 發生的概率,e x 表示 x 發生的期望。我們有兩者的關係 e x sum p x i...

演算法 概率與期望DP

前兩節主要針對題目分析,沒時間的珂以跳過。首先舉一道簡單 經典的好題 lightoj1038 race to 1 again 懶得單獨寫,安利一下dennyqi同學的部落格 很顯然很多期望題的狀態是和自己有關的,怎麼辦呢,難道不停的搜尋自己?上面的方法顯然行不通,於是我們只能簡單變形一下。很容易列出...

期望概率 dp

p4316 綠豆蛙的歸宿 p1850 noip2016 提高組 換教室 p3802 小魔女帕琪 p5104 紅包發紅包 p4550 收集郵票 f i frac f i 1 frac f 1 g i frac g i f i 1 frac g f 1 p1291 shoi2002 百事世界盃之旅 p3...