[BZOJ4555 TJOI2016 HEOI2016 求和]

​ 第一篇博客,請你們多多關照。(鞠躬php

BZOJ4555 TJOI2016 HEOI2016 求和

題意:

​ 給定一個正整數$n$($1\leqq n \leqq100000$),求: $$ \begin{align*} f(n)=\sum_{i=0}^n\sum_{j=0}^i \begin{Bmatrix}i\j\end{Bmatrix}\times2^j\times(j!) \end{align*} $$spa

題解:

​ 第二類斯特林數公式題,題目中很良心地給了咱們第二類斯特林數的遞推公式: $$ \begin{align*} \begin{Bmatrix}i\j\end{Bmatrix}=j\times \begin{Bmatrix}i-1\j\end{Bmatrix}+\begin{Bmatrix}i-1\j-1\end{Bmatrix} \end{align*},1\leqq j\leqq i-1\ \begin{Bmatrix}i\i\end{Bmatrix}=[i\geqq0] $$ ​ 因而咱們愉快地用上面的公式,因而咱們愉快地T掉。get

​ 因此,咱們應該考慮有沒有一種能讓咱們在$O(logn)$內求出咱們須要的每一項第二類斯特林數的方法。博客

​ 有,咱們能夠用容斥定理求出斯特林數的通項公式(我並不會,是背的): $$ \begin{align*} \begin{Bmatrix}n\m\end{Bmatrix}&=\frac{1}{m!}\sum_{k=0}^m\dbinom{m}{k}(m-k)^n(-1)^k\ &=\frac{1}{m!}\sum_{k=0}^m\frac{m!}{k!(m-k)!}(m-k)^n(-1)^k\ &=\sum_{k=0}^m\frac{1}{k!}\frac{(m-k)^n}{(m-k)!}(-1)^k \end{align*} $$ ​ 帶入原式中: $$ \begin{align*} f(n)&=\sum_{i=0}^n\sum_{j=0}^i \begin{Bmatrix}i\j\end{Bmatrix}\times2^j\times(j!)\ \because當j>i時,\begin{Bmatrix}i\j\end{Bmatrix}=0\&=\sum_{j=0}^n2^j\times(j!)\sum_{i=0}^n\sum_{k=0}^j\frac{(-1)^k}{k!}\frac{(j-k)^i}{(j-k)!}\ &=\sum_{j=0}^n2^j\times(j!)\sum_{k=0}^j\frac{(-1)^k}{k!}\sum_{i=0}^n\frac{(j-k)^i}{(j-k)!} \end{align*} $$ ​ 出現了卷積形式,記$A(x)=\sum_{k=0}^x\frac{1}{k!}$,$B(x)=\sum_{i=0}^n\frac{x^i}{x!}$方法

​ 預處理$2^j$、$j!$,用ntt處理$\sum_{j=0}^n\sum_{i+k=j}A(i)\times B(k)$im

​ 時間複雜度:$O(nlogn)$qq

相關文章
相關標籤/搜索