二項式定理

zhengchenxi發表於2024-08-18

二項式定理

$\quad \quad \quad (x+y)^n =\sum_{k=0}^{n} {n \choose k} x^{n-k} y^k $

證明

\(\quad (x+y)^n=(x+y)*(x+y)*(x+y)*...\)
我們考慮多項式乘法\((a+b)*(a+b)=a*a+a*b+b*a+b*b\)
於是我們列舉每個因子相乘,可以發現\((x+y)^n\)每個括號裡的 \(x\)\(y\) 最多隻能選一個,乘出來的每個單項式次數和必然為 \(n\)
知道這些,那我們再考慮\(x^{n-k}y^k\)會被選出來多少次,這其實也很好知道,無非就是 \(n\)\(y\)
中選出了多少個唄,我們直接列舉即可,於是就得到了這個式子。

例題

推柿子題
\(cnt[i]\) 陣列為字元中問號的字首和。
那很簡單列出原始式子

\begin{aligned}
ans&=\sum_{0 \leq L<R \leq n} (R-L)^{k} * \frac{1}{2^{cntR-cntL}}\\
&=\sum_{0 \leq L<R \leq n}\sum_{i=0}^{k}
{k \choose i} R^{k-i} (-L)^i *2^{-cntR} * 2^{cntL}\\
&=\sum_{i=0}^{k} {k \choose i} \sum_{R=1}^{n} R^{k-i} * 2^{-cntR} \sum_{L=0}^{R-1} (-L)^{i} * 2^{cntL}
\end{aligned}

我們就可以 \(O(nk)\) 預處理, \(O(n)\) 遍歷,即可得到答案。

相關文章