1. 程式人生 > 其它 >概率期望入土實錄(更新中)

概率期望入土實錄(更新中)

退役前最後的掙扎,補弱項的計劃之一。

概率期望一直是一個弱項,NOIP 前有必要系統重新學一遍。

下面記一下重學概率期望過程中做的題。

AcWing 216

基礎中的基礎。每一位貢獻獨立,因此把每個數拆開處理。

三種運算不同處理方式:\(\text{xor}\) 可以記字首和,\(\text{and}\) 可以找左側第一個 \(0\)\(\text{or}\) 可以找左側第一個 \(1\)

注意去掉每個數和自身重複計算的貢獻。

AcWing 217 / Luogu P4316

經典啟蒙題。正著算需要記錄一下走到當前狀態的概率,簡單一些的方式是建反圖倒著推。

注意這個倒著推的性質很有用,這種方式在一些題目中可以直接繞過一些複雜概率的計算。

忘了來源的簡單題

求一個隨機排列的逆序對期望。考慮每一對 \((i,j)\) 產生貢獻的期望是 \(\frac{1}{2}\),答案為 \(\frac{n(n-1)}{4}\)

CF1540B

列舉第一個點,然後列舉點對 \((x,y),x>y\)。發現 \(x\)\(y\) 前的概率只與它們到 \(\text{LCA}\) 的距離有關。

\(f_{i,j}\) 表示 \(x,y\)\(\text{LCA}\) 距離分別為 \(i,j\) 時的概率。這玩意是一些組合數乘上係數加起來的形式,可以遞推。

\(\text{LCA}\) 可預處理,總複雜度 \(O(n^3)\)

CF1523E

\(p_i\) 表示點亮 \(i\) 盞燈後結束的概率,則 \(E=\sum p_ii\)。對 \(p\) 作字尾和,則 \(E=\sum s_i\)

考慮到 \(s_i\) 是有組合意義的,插板法算答案即可。

Luogu P4562

發現有一些數是一定有貢獻的,可以 \(O(n\log\log n)\) 篩出這些數字,也可以 \(O(r)\) 線性篩最小質因數,不過難寫而且跑得慢。

之後有兩種視角,組合計數視角顯然。

概率視角:設共有 \(k\) 個關鍵數字,只有最靠後的關鍵位置是有貢獻的。這個位置的期望是 \(\frac{\sum\limits_{i=k}^ni\binom{i-1}{k-1}}{\binom{n}{k}}\)

,化簡得 \(\frac{k(n+1)}{k+1}\)(聽說這玩意有個學名叫什麼均勻分佈),乘上 \(n!\) 分配標號即可。

Luogu P6834

發現當 \(a_i>a_{fa_i}\) 時會產生這兩點權值差的操作次數。因此兩個樹狀陣列維護 \([i-k,i-1]\) 這段帶有每種權值的元素個數和權值和即可。

Luogu P6835

\(f_x\) 表示 \(x\to(x+1)\) 的期望步數,則有 \(f_x=\frac{1}{oud_x+1}+\frac{1}{oud_x+1}\sum\limits_{e(x,y)}sf_x-sf_{y-1}\),把字首和中的 \(f_x\) 提出來,移項化簡得 \(f_x=oud_x+1+\sum\limits_{e(x,y)}sf_{x-1}-sf_{y-1}\),由期望線性性得 \(ans=sf_n\)。​

CF280C

每個點對操作次數貢獻的期望是 \(\frac{1}{dep_u}\),都加起來即可。

Luogu P3239

還記得綠豆蛙那題的倒推思想麼?這題正著做要同時 \(\text{DP}\) 出概率,巨大困難,我們反著來。設 \(f_{i,j}\) 表示 \([i,n]\) 這段共進行 \(j\) 輪的期望答案。發現這個狀態有 \((1-p_i)^j\) 的概率直接轉移到 \(f_{i+1,j}\),有 \([1-(1-p_i)^j]\) 的概率去掉 \(i\) 的貢獻之後轉移到 \(f_{i+1,j-1}\)

然後做完了。