把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

QOJ #8715. 放苹果

唉,我觉得这个题好牛啊,为啥 zak 能 8min 切掉捏?

考虑 \(i\to i+1\) 被多少个苹果经过,枚举 \(j\) 表示 \([1,i]\) 中苹果的个数,则对总共的贡献是 \(\min(j,n-j){n\choose j}i^j(m-i)^{n-j}\)

\((m-i)^{n-j}\) 展开可以得到:

\[\sum\limits_{i=0}^{m} \sum\limits_{j=0}^{n}\min(j,n-j){n\choose j}i^j\sum\limits_{k=0}^{n-j} m^k(-i)^{n-j}{n-j\choose k} \]

交换求和号,有

\[\sum\limits_{k=0}^{n}\sum\limits_{i=0}^{m} i^{n-k}\sum\limits_{j=0}^{n-k}\min(j,n-j){n\choose j}m^k(-1)^{n-j-k}{n-j\choose k} \]

显然可以用一次卷积求出后面 \(j\) 一维的东西,记作 \(g_k\)。将 \(g_k\) 翻转,我们要求的就是

\[\sum\limits_{k=0}^{n}g_k\sum\limits_{i=0}^{m} i^{k} \]

我们自然希望能把所有 \(S(m,k)=\sum\limits_{i=0}^{m} i^k\) 求出来。

展开 \(S(m+1,k)-S(m,k)\),可以得到:

\[S(m+1,k)-S(m,k)=(m+1)^k=\sum\limits_{i=0}^{k}m^i{k\choose i} \]

对所有 \(m\) 求和,可以得到

\[S(m+1,k)-1=\sum\limits_{i=0}^{k}{k\choose i}S(m,i) \]

将右边的 \(S(m,k)\) 移过去,可以得到:

\[(m+1)^k-1=\sum\limits_{i=0}^{k-1}S(m,i){k\choose i} \]

将所有 \(k\) 对应的式子写出来,是一个多项式乘法逆的形式,可以 \(O(n\log n)\) 解决。

submission

posted @ 2024-06-20 08:33  275307894a  阅读(36)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end