學習筆記 概率與期望dp做題總結

2021-08-09 19:37:05 字數 1126 閱讀 8394

之前做的一些就不記錄了,只記錄現在開始做的一些題。

t0. 入門題

給乙個有向無環圖,每次等概率走某一條邊,求從1走到n的邊權和的期望。

做法1,直接設dp[x]表示答案,轉移顯然。

做法2,考慮從定義入手分析出一種做法。期望的定義是e=sigma pi*wi,就是wi出現的概率乘上他自己。

本題中即answer(g) = simga ,p_i表示一條路徑,p(p_i)表示走p_i的概率,顯然有:

p(p_i)=1/|p|,其中p是路徑集合,|p|是其大小。現在p(p_i)有了,w(p)呢?

注意到若將路徑p_i寫成邊的有序序列p_i = ,並設w(e)表示e的邊權,有:

w(p_i)=sigma , 1<=j<=|p_i|。代入answer(g)可知answer(g) = sigma / |p| } = sigma } /|p|。

其中第一層sigma列舉的是路徑,第二層列舉的是路徑上的邊。顯然答案會是乙個邊權乘上他在式子中出現的次數,求和,再除以|p|.

記邊i的係數是a_i,即answer(g) = sigma 。

考慮a_i的計算,這等價於有多少路徑經過邊e_i,顯然這等價於有多少條路徑經過這條邊的起點u。這個是可以遞推的。

t1. cf518d

大意,有乙個佇列。每乙個時刻有p的概率彈出隊首元素,(1-p)的概率啥事也不做。求t秒後彈出佇列的元素期望。

兩種做法,第一種,注意到僅僅設dp[t]表示答案是不行的,因為並不能遞推。

考慮令dp[i][j]表示前i秒恰好j個元素彈出的概率(即第i秒彈出第j個元素),那麼答案看起來就應該是

sigma dp[i][j]*j。(儘管不是,但是也差不多了,只差了一些細節)

這個轉移看起來是顯然的,即你列舉上一次彈出的時刻,然後中間乘起來即可,這個轉移需要優化;

但其實有乙個更簡單的轉移方法,即設f[i][j]表示前i秒彈出j個人但並不要求第j個是第i個彈出的;

那麼顯然有f[i][j]=p*f[i-1][j-1]+(1-p)*f[i-1][j],然後dp[i][j]=p*f[i-1][j-1]。

計算答案的時候分兩種情況,第一種是在t秒內彈出全部的n個元素,答案是sigma dp[i][n]*n

第二種是在i(i兩部分相加即可。

做法2,待補。

期望概率做題筆記

對於求 p i 可以參照第二種情況的思考方式,所以 p i sum 考慮到複雜度可能比較大,需要預處理一下 1 p i 的冪。x cf16e fish 概率狀壓dp 還是第一次見 看到 n le 18 考慮狀壓。設 f s 表示狀態 s 出現的概率,那麼可以列舉乙隻在狀態 s 中活著的魚 i 再列舉...

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

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

概率與期望 學習筆記

1.條件概率 定義 b 條件下 a 事件發生的概率為 p a b 有 p a b frac 全概率公式 定義 b 是 omega 的乙個劃分 則有 p a sum p b 貝葉斯公式 p a b frac 2.期望的線性性 e x y e x e y e cx ce x e xy e x e y 隨...