0.前言
上周刷 GF 題的時候看到了這個東西,感覺好麻煩就懶得做,結果集訓出到了硬幣游戲加強版就 GG 了……
所以突擊了一下知識點,㗅整理在這里。
1.[CTSC2006]歌唱王國
我們先來簡單介紹一下 PGF,其實它是一種特殊的 OGF,只不過系數是一個概率:對於離散隨機變量 \(X\),它的 PGF 為 \(\sum\limits_{i=0}^{\infty}P(X=i)x^i\)。
然后就可以一眼看出它有一些平凡的性質,比如帶入 \(x=1\) 會得到 \(1\) 或者求導得到期望的 OGF 之類的。
做 PGF 題的常用套路是設兩個:\(F(x)\) 表示在第某個數字結束的概率,\(G(x)\) 表示在某個數字未結束的概率。
那么對於這題我們容易發現 \(xG(x)+1=F(x)+G(x)\),這是因為新加一個數字游戲可能結束也可能未結束。
我們還可以強制讓它結束:\(G(x)\left(\dfrac1nx\right)^m=\sum\limits_{i=1}^m[pre_i=suf_i]F(x)\left(\dfrac1nx\right)^{m-i}\),這個式子看起來很恐怖,但它的意義是很明顯的。
我們現在強制讓它結束,那么有可能還沒加到 \(m\) 長度就提前結束了,假設加到第 \(i\) 個位置結束,容易發現 \(pre_i\) 一定是一個 border,然后把沒加的補上去。
對於這個題要求歌唱時間的期望,我們求導得到 \(F'(1)=G(1)\),再對第二個式子化簡得 \(G(1)=\sum\limits_{i=1}^m[pre_i=suf_i]F(1)n^i\),然后就可以直接算了。
2.[SDOI2017]硬幣游戲
我們直接加強上一題,現在有多個名字,求概率。
為了方便我們設 \(P(S)\) 是一個串 \(S\) 出現的概率。
仿照上例,我們有 \(xG(x)+1=\sum F_i(x)+G(x)\) 和 \(G(x)P(S_i)x^m=\sum\limits_{j=1}^n\sum\limits_{k=1}^m[pre_{i,k}=suf_{j,k}]F_j(x)P(S_i[k+1,m])x^{m-k}\)。
然后代入得 \(G(1)=\sum\limits_{j=1}^n\sum\limits_{k=1}^m[pre_{i,k}=suf_{j,k}]F_j(1)\dfrac1{P(S_i[1,k])}\),我們發現這是一個跟 \(F_i(1)\) 和 \(G(1)\) 有關的 \(n+1\) 元一次方程……欸等等,\(n\) 個 \(n+1\) 元好像解不了啊?
但是別忘了概率的基本性質,就是 \(\sum F_i(1)=1\),這樣就可以直接解方程了。
原題只有兩種顏色,是弱化版。
3.沒了
好水啊……似乎也沒有什么別的例題了……