題面
有 \((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}\)
