P6667 [清华集训2016] 如何优雅地求和

P6667 [清华集训2016] 如何优雅地求和

Problem

给定最高次幂为 \(x^{m}\) 的多项式函数 \(g(x)\) 和整数 \(n, q\),其中 \(g\) 以点值形式给出,即给定 \(g(0), g(1), \dots, g(m)\)。求:

\[\begin{aligned} Q(g, n, q) = \sum\limits_{k = 0}^{n}g(k)\binom{n}{k}q^{k}(1 - q)^{n - k} \\ \end{aligned} \]

\(998244353\) 取模的结果。

\(1 \le n \le 10^{9}\)\(1 \le m \le 2 \times 10^{4}\)\(0 \le g(i), q < 998244353\)

Solution

前提紧要:如何优雅地排序。你应该能猜到发生了什么。干脆一鼓作气把这道题扬了。

还是先来确定 \(a\)\(F(x)\)\(G(x)\)

\[\begin{aligned} Ans = \sum\limits_{i = 0}^{m}a_{i}[x^{i}]F(G(x)) = \sum\limits_{k = 0}^{n}f_{k}\sum\limits_{i = 0}^{m}a_{i}[x^{i}]G(x)^{k} = \sum\limits_{k = 0}^{n}g(k)\binom{n}{k}q^{k}(1 - q)^{n - k} \end{aligned} \]

我们已知 \(g(0), g(1), \dots, g(m)\),又根据上面的等式,考虑将 \(g\)\(m + 1\) 个点值与 Binomial Sum 标准形式中作为条件的 \(m + 1\) 和式进行关联,即:

\[\begin{aligned} g(k) = \sum\limits_{i = 0}^{m}a_{i}[x^{i}]G(x)^{k} \\ \end{aligned} \]

这样可以同时得到 \(f_{k} = \binom{n}{k}q^{k}(1 - q)^{n - k}\)。于是得到 \(F(x)\)

\[\begin{aligned} F(x) = \sum\limits_{k = 0}^{n}\binom{n}{k}q^{k}(1 - q)^{n - k}x^{k} = (qx + 1 - q)^{n} \\ \end{aligned} \]

接下来是 \(a\)\(G(x)\),可以发现它们是绑定在一起的。

通过展开 \(g(x) = \sum\limits_{i = 0}^{m}g_{i}x^{i}\),我们可以看到这一点:

\[\begin{aligned} g(k) = \sum\limits_{i = 0}^{m}a_{i}[x^{i}]G(x)^{k} = \sum\limits_{i = 0}^{m}g_{i}k^{i} \\ \end{aligned} \]

这里 \(k^{i}\) 又出现了,于是 \(G(x)\) 还是我们的老伙计 \(e^{x}\),不过这一次它扔掉了它的拐杖 \(q\)。让我们来看看 \(G(x)\) 的表现吧:

\[\begin{aligned} g(k) = \sum\limits_{i = 0}^{m}a_{i}[x^{i}]e^{kx} = \sum\limits_{i = 0}^{m}a_{i}\frac{k^{i}}{i!} = \sum\limits_{i = 0}^{m}g_{i}k^{i} \\ \end{aligned} \]

于是 \(a_{i} = i!\)。这样的结果并不令人意外。

实际上,我们可以发现 \(G(x)\)\(a\) 更像是趋于形式的事物。

更富有人情味地讲——如果你是 \(F(x)\),能有 \(G(x), a\) 这样的好伙计的话,想必是非常幸福的。


(以下画风与上文有所差异)

参考文献

\(F(x)\) 要开始它的表演了。

首先是犯下傲慢之罪的微分方程,以为自己是高达 \(n + 1\) 项的多项式,于是毫不珍惜地抛出了一坨 \((qx + 1 - q)F^{'}(x)\)。等式右侧的 \(0\) 是神的旨意,是完美的造化,它凝视着 \(F(x)\) 幼稚的挑衅。为什么说是挑衅,注意到等式中的减号就像一截锋利的匕首,其实 \(F(x)\) 有刺杀神灵之意,世人称其为 “丢匕”。

\[\begin{aligned} S(x) = nqF(x) - (qx + 1 - q)F^{'}(x) = 0 \end{aligned} \]

说时迟那时快,\(F(x)\) 变成了 \(F(x + 1)\)。这招叫做多项式平移。

为什么每个 \(x\) 都变成了 \(x + 1\)?其实我们还没有提到等式左侧 \(S(x)\),好巧不巧,这个玩意儿的名字叫做 “丢笔”。传说在 \(S(x)\) 降生之时,世间万物都听到了它振聋发聩的怒吼声,使得万物为之一颤:“我和你们每个人,都有 \(1\) 笔账要算。”所以每一项都加了个 \(1\)

\[\begin{aligned} S(x + 1) = nqF(x + 1) - (qx + 1)F^{'}(x + 1) = 0 \\ \end{aligned} \]

接着是犯下懒惰之罪的多项式截取:\(\mathscr{F}(x + 1) = F(x + 1) \bmod{x^{m + 1}}\)\(F\) 家族攒下来的 \(n + 1\) 项财产,由于 \(\mathscr{F}\) 的畏难情绪,只剩下了 \(m + 1\) 项。

注意到 \(S\) 变成了 \(\mathscr{S}\),与 \(\mathscr{F}\) 的畏难情绪相反,\(\mathscr{S}\) 不仅不因为自己的智商感到自卑,还努力依靠自己记忆力的优势不断精通世间万物的真理,成为了 “所有人的物理老师”(出处:欧拉被称为 “全人类的数学老师”)。

再注意到右侧的神灵 \(0\) 变成了 \(\mathscr{D}(x)\),其实 \(\mathscr{D}(x)\) 是 dewbee 的简称,这说明丢笔的造化很深,神灵已经为它留下了一席之位。

著名的化学家 GY 也是一位即将一步登天的人,他离成为祖宗只有一步之遥(迫真)。GY 曾经说过:“我的时间是不多了,但比你的时间多”。这能够表明他对丢笔崇高的敬意与可望不可及的畏难情绪。

\[\begin{aligned} \mathscr{S}(x + 1) = nq\mathscr{F}(x + 1) - (qx + 1)\mathscr{F}^{'}(x + 1) = \mathscr{D}(x) \\ \end{aligned} \]

\(F(x + 1) = \sum\limits_{i = 0}^{n}f_{i}x^{i}\),则 \(\mathscr{F}(x + 1) = \sum\limits_{i = 0}^{m}f_{i}x^{i}\)\(\mathscr{F}^{'}(x + 1) = \sum\limits_{i = 0}^{m}if_{i}x^{i - 1} = \sum\limits_{i = 0}^{m - 1}(i + 1)f_{i + 1}x^{i}\)

考察前 \(m + 1\) 项。发现只有第 \(m + 1\) 项不完整(即不为 \(0\)),所以可以设 \(\mathscr{D}(x) = ax^{m}\),并通过一通计算得到:

\[\begin{aligned} a = nqf_{m} - qmf_{m} \\ \end{aligned} \]

\(f_{m}\) 是容易的。\(F(x + 1) = (qx + 1)^{n}\),所以 \(f_{m} = \binom{n}{m}q^{m}\)

然后是犯下贪婪之罪的整式递推。我们现在想要求出 \(\mathscr{F}(x)\)\(0 \sim m\) 项的系数 \(\mathscr{f}_{0}, \dots, \mathscr{f}_{m}\),众所周知这是可以用 NTT 碾过去的,但是整式递推否决了这个想法。

尽管如此,丢笔认为整式递推仍然具有畏难情绪。对于这种简单的问题,“放第二小问都太简单了,更不要谈第三小问”,整式递推这种低效的算法在丢笔面前显然是不堪入目。“做事情要讲究效率。”丢笔如是说。

化学家 GY 曾就【贪婪】这一概念与丢笔谈笑风生。“你【数据删除】是为了【数据删除】吗?”丢笔对此评价是:”你不用管这些。“表现出了丢笔优雅的自尊心理与摈弃世俗的超凡眼光。

整式递推显然还不够贪婪,所以它触犯了贪婪之罪。

\[\begin{aligned} nq\mathscr{F}(x) - (qx + 1 - q)\mathscr{F}^{'}(x) = \mathscr{D}(x - 1) = a(x - 1)^{m} \\ \end{aligned} \]

书写递推式:

\[\begin{aligned} nq\mathscr{f}_{i} - qi\mathscr{f}_{i} - (1 - q)(i + 1)\mathscr{f}_{i + 1} = a(-1)^{m - i}\binom{m}{i} \\ \mathscr{f}_{i} = \frac{a(-1)^{m - i}\binom{m}{i} + (1 - q)(i + 1)\mathscr{f}_{i + 1}}{q(n - i)} \end{aligned} \]

递推边界为 \(\mathscr{f}_{m + 1} = 0\)。当 \(n < i\) 时,特判 \(\mathscr{f}_{i} = 0\)。当 \(n = i\) 时,特判 \(\mathscr{f}_{n} = q^{n}\)\(q = 0\) 不想管了,因为代回去 \(0^{0}\) 无意义。

代回答案式:

\[\begin{aligned} Ans &= \sum\limits_{i = 0}^{m}a_{i}[x^{i}]F(G(x)) \\ &= \sum\limits_{i = 0}^{m}a_{i}[x^{i}]\mathscr{F}(G(x)) \\ &= \sum\limits_{k = 0}^{m}\mathscr{f}_{k}\sum\limits_{i = 0}^{m}a_{i}[x^{i}]G(x)^{k} \\ &= \sum\limits_{k = 0}^{m}\mathscr{f}_{k}g(k) \\ \end{aligned} \]

所以说,丢笔才是神,前面忘了中间忘了后面忘了。

你说得对,但是我推式子时把一个正负号写错了。

posted @ 2024-01-16 20:01  Schucking_Sattin  阅读(16)  评论(0编辑  收藏  举报