闲话
有人说不如让我把学术部分去掉,我就把闲话部分去掉了。
多项式杂题
凑数?凑数就凑数吧。
[HEOI2016/TJOI2016]求和
给定 \(n\),计算
\[\sum_{i=0}^n \sum_{j=0}^i {{i}\brace{j}}\times j!\times 2^j
\]
\(n\le 10^5\)。
我们发现斯特林数不是很好做,于是先把它放在内层循环。
\[\sum_{j=0}^n j!\times 2^j \times \sum_{i=0}^n {{i}\brace{j}}
\]
然后自然地展开斯特林数:
\[\sum_{j=0}^n j!\times 2^j \times \sum_{i=0}^n \sum_{k=0}^j (-1)^k \frac{(j - k)^i}{(j - k)! k!}
\]
把 \(i\) 放在里面求和:
\[\sum_{j=0}^n j!\times 2^j \times \sum_{k=0}^j (-1)^k \frac{(j - k)^{n + 1} - 1}{(j - k - 1)(j - k)! k!}
\]
然后就可以卷积了。复杂度 \(O(n\log n)\)。
当然这题存在 \(O(n)\) 做法。具体数学的公式 \((6.19)\) 提供了一种新的展开式,套用得到
\[\sum_{j=0}^n 2^j \sum_{i=0}^n \sum_{k=0}^j \binom{j}{k} k^i(-1)^{j-k}
\]
然后用 \(\text{q-analog}\) 化简一下
\[\sum_{k=0}^n [n + 1]_k\sum_{j=k}^n 2^j \binom{j}{k} (-1)^{j-k}
\]
考虑一个
\[\sum_{m = i}^n \binom{m}{i} a_m q^{n - m}
\]
的形式。
我们发现,若 \(F(x)\) 生成 \(\langle a_m \rangle\),则这个东西的生成函数就是 \(F(x + q)\)。现在 \(q = -1, F(x) = \sum_{i=0}^n (2x)^i = [n + 1]_{2x}\),因此我们得到了 \(F(x - 1) = [n + 1]_{2x - 2}\)。这个东西微分有限,可以递推。
然后 \([n]_k\) 容易在 \(O(n)\) 复杂度内求得。因此总复杂度为 \(O(n)\)。代码没实现。
[HAOI2018]染色
为了报答小 C 的苹果,小 G 打算送给热爱美术的小 C 一块画布,这块画布可以抽象为一个长度为 \(N\) 的序列,每个位置都可以被染成 \(M\) 种颜色中的某一种。然而小 C 只关心序列的 \(N\) 个位置中出现次数恰好为 \(S\) 的颜色种数,如果恰好出现了 \(S\) 次的颜色有 \(K\) 种,则小 C 会产生 \(W_k\) 的愉悦度。小 C 希望知道对于所有可能的染色方案,他能获得的愉悦度的和对 \(1004535809\) 取模的结果是多少。
\(n\le 10^7, m\le 10^5, S\le 150\)。
我们考虑使用 egf 来刻画这个性质。假设 \(F, G\) 分别生成确定颜色的位置和不确定颜色的位置,取第 \(n\) 项表示用特定的一种颜色填 \(n\) 个位置的种类数。由于 \(F\) 对应着已经确定了位置数的颜色,因此 \(F(x) = x^s / s!\),\(G\) 则正好相反,是 \(\sum_{i = 0}^{\infty} x^i / i! - x^s / s!\),即 \(e^x - x^s / s!\)。取颜色数为幂次,并分配位置得到这部分的总方案数
\[[x^n / n!] \left(\frac {x^s}{s!}\right)^K\left(e^x - \frac {x^s}{s!}\right)^{m - K}
\]
考虑化简。
\[\begin{aligned}
&\sum_{i=0}^m \binom mi\times w_i\times [x^n / n!] \left(\frac {x^s}{s!}\right)^i\left(e^x - \frac {x^s}{s!}\right)^{m - i}
\\ = \ & n!\times \sum_{i=0}^m \binom mi\times w_i\times [x^n] \left(\frac {x^s}{s!}\right)^i\left(e^x - \frac {x^s}{s!}\right)^{m - i}
\\ = \ & n!\times \sum_{i=0}^m \binom mi\times w_i\times [x^{n - si}] \frac{1}{(s!)^i}\left(e^x - \frac {x^s}{s!}\right)^{m - i}
\end{aligned}\]
先看提取系数。
\[\begin{aligned}
&[x^{n - si}] \frac{1}{(s!)^i}\left(e^x - \frac {x^s}{s!}\right)^{m - i}
\\ = \ & [x^{n - si}] \frac{1}{(s!)^i}\sum_{j = 0}^{m - i} (-1)^{j} \binom{m - i}{j} e^{x(m - i - j)}\left(\frac {x^s}{s!}\right)^{j}
\\ = \ & \sum_{j = 0}^{m - i} (-1)^{j} \binom{m - i}{j} \frac{1}{(s!)^{i + j}} [x^{n - s(i + j)}]e^{x(m - i - j)}
\\ = \ & \sum_{j = i}^{m} (-1)^{j-i} \binom{m - i}{j - i} \frac{1}{(s!)^{j}} [x^{n - sj}]e^{x(m - j)}
\\ = \ & \sum_{j = i}^{m} (-1)^{j-i} \binom{m - i}{j - i} \frac{1}{(s!)^{j}} \frac{(m - j)^{n-sj}}{(n-sj)!}
\end{aligned}\]
回代得到
\[\begin{aligned}
& n!\times \sum_{i=0}^m \binom mi\times w_i\times \sum_{j = i}^{m} (-1)^{j-i} \binom{m - i}{j - i} \frac{1}{(s!)^{j}} \frac{(m - j)^{n-sj}}{(n-sj)!}
\\ = \ & m! n!\times \sum_{i=0}^m \frac{w_i }{i!(m - i)!}\times \sum_{j = i}^{m} (-1)^{j-i} \frac{(m - i)!}{(j - i)!(m-j)!}\frac{(m - j)^{n-sj}}{(n-sj)!(s!)^{j}}
\\ = \ & m! n!\times \sum_{i=0}^m \frac{w_i}{i!}\times \sum_{j = i}^{m} \frac{(-1)^{j-i}}{(j - i)!}\frac{(m - j)^{n-sj}}{(m-j)!(n-sj)!(s!)^{j}}
\end{aligned}\]
然后后面那个部分就可以卷积了。具体地,我们设后面那个是 \(g_{j-i} \times f_j\) 的形式。我们反转 \(f\),然后令 \(j = m - j\),新的形式就是 \(\sum_{j=0}^{m-i} g_{m-j-i}f_j\)。
直接做即可。总时间复杂度 \(O(n\log n)\)。
听说有个什么容斥还是反演的做法,我永远不会去看的!
Submission.
bzoj5093 图的价值
我们分别考虑每个点的贡献。假设这个节点的度数是 \(i\),它可以向外连边的方案数是 \(C_{n-1}^i\) 种,每种带贡献 \(2^{C_{n-1}^2}\times i^k\)。又因为有 \(n\) 个点,总贡献即为
\[n 2^{\binom{n-1}{2}} \sum_{i=0}^{n-1} i^k \binom {n-1}{i}
\]
我们只看求和号。把幂用斯特林数化开,我们得到
\[\sum_{i=0}^{n-1} \sum_{j=0}^i\binom {n-1}{i} \binom{i}{j} {{k}\brace{j}} j! =\sum_{j=0}^{n-1} \sum_{i=j}^{n-1} \binom {n-1}{j} \binom{n-1-j}{i-j} {{k}\brace{j}} j!
\]
于是把 \(i\) 消去,得到
\[\sum_{j=0}^{n-1} 2^{n-1-j} \binom {n-1}{j}{{k}\brace{j}} j!
\]
然后我们发现 \(j \le \min(n-1, k)\)。这样直接求一行斯特林数,我们就能枚举 \(j\) 得到答案了。
没了。总时间复杂度为 \(O(n\log n)\)。