「2013 TCO Algorithm Round 3A - Division I, Level Three」 TrickyInequality

link。


以下记 \(r = m - n\),有 \(1 \leq r \leq 100\)

易知答案为(注意有条件 \(nt \leq s\)):

\[\sum_{i=0}^n\binom{s - it}{m}\binom{n}{i}(-1)^i \]

如果记 \(f(i) = \binom{s - it}{m}\),则答案为 \((-1)^n \Delta^n f(0)\),其中 \(\Delta^n f\)\(f\)\(n\) 阶差分。

我们知道如下事实:\(f(x) = \sum_{i=0}\Delta^if(0)\binom{x}{i}\)(被称为“牛顿级数”)。那么只需将 \(f(x)\) 写成下降幂多项式,并取第 \(n\) 项。

先展开成多项式:

\[\begin{aligned} f(x) =& \binom{s - xt}{m} \\ =& \frac{1}{m!}\left(\sum_{i=0}^m(-1)^{m - i}{m\brack i}(s - xt)^i\right) \\ =& \frac{1}{m!}\left(\sum_{i=0}^m(-1)^{m - i}{m\brack i}\left(\sum_{j=0}^i\binom{i}{j}s^{i-j}(-t)^jx^j\right)\right) \\ \end{aligned} \]

再展成下降幂:

\[\begin{aligned} f(x) =& \frac{1}{m!}\left(\sum_{i=0}^m(-1)^{m - i}{m\brack i}\left(\sum_{j=0}^i\binom{i}{j}s^{i-j}(-t)^jx^j\right)\right) \\ =& \frac{1}{m!}\left(\sum_{i=0}^m(-1)^{m - i}{m\brack i}\left(\sum_{j=0}^i\binom{i}{j}s^{i-j}(-t)^j\left(\sum_{k=0}^j{j\brace k}\binom{x}{k}k!\right)\right)\right) \\ \end{aligned} \]

\(k = n\),得:

\[\begin{aligned} &\frac{n!}{m!}\left(\sum_{i=0}^m(-1)^{m - i}{m\brack i}\left(\sum_{j=n}^i\binom{i}{j}s^{i-j}(-t)^j{j\brace n}\right)\right) \\ =&\frac{n!}{m!}\left(\sum_{p=0,q=0}^{p+q\leq r}(-1)^{m - (n + p + q)}{n + r\brack n + p + q}\binom{n + p + q}{n + q}s^{p}(-t)^{n + q}{n + q\brace n}\right) \\ \end{aligned} \]

发现都可以 \(O(r^2)\) 求。

这里补充一下怎么 \(O(r^2)\) 预处理,\(O(k)\)\({n\brack n - k},{n\brace n - k},k\leq r\)(经过一些挣扎,我决定上组合意义了)

考虑 \({n\brace n - k}\) 的组合意义,将 \(n\) 个元素分入 \(n - k\) 个集合。可以发现大多数集合都只包含一个元素。

\(f_{p, q}\) 表示将 \(p\) 个元素分入 \(q\) 个集合,每个集合含多于一个元素。显然 \(p \geq 2q\)

\[{n\brace n - k} = \sum_{p=0}^{k} \binom{n}{k + p}f_{k + p, p} \]

现在考虑求 \(f_{p, q}\)。类似第二类斯特林数,有 \(f_{p, q} = qf_{p - 1, q} + (p - 1)f_{p - 2, q - 1}\)

\({n\brack n - k}\) 同理,不再赘述。

自然,你也可以根据斯特林数的列生成函数跑多项式幂,用 exp + ln 即可同复杂度。


另一个 \(O(r^2)\) 的做法。把答案写作生成函数:

\[[x^s]\left(\frac{x(1-x^t)}{1-x}\right)^n\left(\frac{x}{1-x}\right)^{r}\frac{1}{1-x} \]

\(G(x) = \frac{x(1-x^t)}{1-x} = x + \dots + x^t, F(x) = G^n(x), H(x) = \left(\frac{x}{1-x}\right)^{r}\frac{1}{1-x}\)

易知 \(H(x) = \sum_{i=0}\binom{i}{r}x^i\),此时答案为 \(\sum_{i=0}f_i\binom{s-i}{r}\)

将其写成下降幂 \(\binom{s-i}{r} = \sum_{j=0}^r a_j i^{\underline{j}}\),此时答案又可写作 \(\sum_{j=0}^{r}a_jF^{(j)}(1)\)

现只需考虑求出 \(F^{(k)}(1) = (G^n)^{(k)}(1), \forall k\leq r\)

注意到 \(G^{(k)}(1) = \binom{t + 1}{k + 1}\) 是易求的,考虑由此得到 \(F^{(k)}(1)\)

根据乘法的求导法则,有 \(F^{(k)}(1) = k![x^k]\left(\sum_{i=0}\frac{G^{(i)}(1)}{i!}x^i\right)^n\)。之后做一个 \(O(r^2)\) 的多项式幂(ln + exp)即可。


我个人认为以上两种方法是等价的,但是我水平太菜证不动。

posted @ 2020-04-03 11:35  Tiw_Air_OAO  阅读(427)  评论(0编辑  收藏  举报