1. 程式人生 > 其它 >題解 cf gym 102979 E Expected Distance

題解 cf gym 102979 E Expected Distance

傳送門

介於網上唯一一篇 PGF 實在過於簡略,且他的碼風使我大受震撼,因此我決定自己寫一篇


【大意】

初始給定序列 \(\{a_{n-1}\}\)\(\{c_n\}\) ,從 \(1\)\(n\) 構建一顆樹:

對於當前點 \(i\) ,它有 \(\displaystyle {a_j\over \sum_{t=1}^{i-1} a_t}\) 的概率連向 \(j\) ,當該事件發生時, \((i, j)\) 的邊長為 \((c_i+c_j)\)

現在 \(Q\) 次詢問,每次詢問輸出 \(u\)\(v\) 的距離期望


【分析】

先定義概率型生成函式 PGF :

假定對於離散型隨機事件 \(X\)

,有 \(P(X=i)=p_i\) ,則其 PGF 定義為 \(\displaystyle P(x)=\sum_{i=0}^\infty P(X=i)x^i=\sum_{i=0}^\infty p_ix^i\)

根據概率的性質,顯然有 \(P(1)=1\) 時,\(\displaystyle \sum_{i=0}^\infty p_i=1\) ,則 \(\displaystyle E(X)=\sum_{i=0}^\infty ip_i=\sum_{i=1}^\infty ip_i=P'(1)\)

對於該題,由於詢問內容是距離的期望,因此我們假設 \((u, v)\) 距離的 PGF 為 \(\displaystyle P(x)=\sum_{i=0}^\infty P[dis(u, v)=i]x^i\)

,則答案為求解 \(P'(1)\)

不妨設 \(u<v\) ,一邊相連的兩點中,數值較大的為孩子節點,且為了方便,記 \(\displaystyle s_n=\sum_{i=1}^n a_i\)

考慮列舉 \((u, v)\) 的最近公共祖先 \(k\),則顯然 \(k\leq u\)

\(k=u\) 時,不妨假設中間仍連著 \(\{w1, w2, \cdots , wm\}\) 若干個點

則該情況的概率為 \(\displaystyle {a_u\over s_{w1-1}}\cdot {a_{w1}\over s_{w2-1}}\cdots {a_{wm}\over s_{v-1}}={a_u\over s_{v-1}}\prod_{i=1}^m {a_{wi}\over s_{wi-1}}\)