某道 EGF 題目


題面

\((n+m+k)\) 盞燈,各有不同的編號與開關。其中有 \(n\) 盞亮着的, \(m\) 盞暗燈, \(k\) 棧壞的燈。亮燈按下開關將變成暗燈,暗燈按下開關將變成亮燈,壞燈無論如何按開關都是暗燈。求操作嚴格 \(t\) 次后,所有燈都是暗燈的方案數。結果對 \(10^9+7\) 取模。

\(n,m\leq 5\times 10^3,t,k\leq 10^{18}\)


記號規定

對於數列 \(\{a_n\}\)\(EGF(a_n)=A^e(x)\) 表示其指數型生成函數


分析

\(ans[t]\) 表示操作嚴格 \(t\) 次的方案數,不難寫出方程:

考慮 \(t\) 個位置中,先選擇 \(p\) 個位置給所有亮燈,再選 \(q\) 個位置給所有暗燈,最后選 \(r\) 個位置給所有壞燈

\(\displaystyle ans[t]=\sum_{p+q+r=t} \left( \begin{matrix} t \\ p,q,r \end{matrix} \right) f_n[p]g_m[q]k^r\)

其中:

\(f_n[p]\) 表示操作 \(p\) 次,讓亮着的 \(n\) 盞燈全部變暗的方案數

\(g_m[q]\) 表示操作 \(q\) 次,讓暗着的 \(m\) 盞燈全部仍是暗的方案數

考慮到 \(\displaystyle \left( \begin{matrix} t \\ p,q,r \end{matrix} \right)={t!\over p!\cdot q!\cdot r!\cdot(t-p-q-r)!},(t-p-q-r)!=0!=1\)

整理式子得 \(\displaystyle {ans[t]\over t!}=\sum_{p+q+r=t}{f_n[p]\over p!}\cdot {g_m[q]\over q!}\cdot {k^r\over r!}\)

因此有 \(Ans^e=F_n^e\cdot G_m^e\cdot EGF(k^r)\)

因為 \(\displaystyle EGF(k^r)=\sum_{r=0}^\infty {k^r\over r!}x^r=\sum_{r=0}^\infty {1\over r!}(kx)^r=e^{kx}\)

故接着考慮 \(F_n^e\)\(G_m^e\)


對於 \(F_n^e\) ,我們不難列出轉移式子:考慮第一個亮的燈按開關次數,顯然必須按奇數次;則剩余 \((n-1)\) 個開關的方案數,等價於只有 \((n-1)\) 個開關的方案數

\(\displaystyle f_n[p]=\sum_{i=0}^p \left( \begin{matrix} p \\ i \end{matrix} \right)f_{n-1}[p-i][2\nmid i]\)

整理得到 \(\displaystyle {f_n[p]\over p!}=\sum_{i+j=p}{f_{n-1}[j]\over j!}\cdot {1^i- (-1)^i\over 2i!}\)

故兩邊取 EGF 得到 \(\displaystyle F_n^e=F_{n-1}^e\cdot ({e^x-e^{-x}\over 2})\)

又因為 \(\displaystyle f_1[p]=[2\nmid p]\Rightarrow F_1^e={e^x-e^{-x}\over 2}\)

因此遞推得到 \(\displaystyle F_n^e=F_1^e\cdot ({e^x-e^{-x}\over 2})^{n-1}=({e^x-e^{-x}\over 2})^n\)


對於 \(G_m^e\) ,我們同樣考慮第一個暗燈按開關只能為偶數次,故同樣可列出轉移方程:

\(\displaystyle g_m[q]=\sum_{i=0}^q\left( \begin{matrix} q \\ i \end{matrix} \right)g_{m-1}[q-i][2\mid q]\)

同樣整理可得 \(\displaystyle {g_m[q]\over q!}=\sum_{i+j=q}{g_{m-1}[j]\over j!}\cdot {1^i+(-1)^i\over 2i!}\)

因此 \(\displaystyle G_m^e=G_{m-1}^e\cdot ({e^x+e^{-x}\over 2})\)

同樣因為 \(\displaystyle g_1[q]=[2\mid q]\Rightarrow G_1^e={e^x+e^{-x}\over 2}\)

故同樣的 \(\displaystyle G_m^e=G_1^e\cdot ({e^x+e^{-x}\over 2})^{m-1}=({e^x+e^{-x}\over 2})^m\)


回到原式,我們現在得到了:

\(\displaystyle Ans^e(x)=({e^x-e^{-x}\over 2})^n\cdot ({e^x+e^{-x}\over 2})^m\cdot e^{kx}\)

將右邊展開得 \(\displaystyle Ans^e(x)={(e^{2x}-1)^n\cdot (e^{2x}+1)^m\over 2^{n+m}}\cdot e^{(k-n-m)x}\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM