计数(4):二项式系数与斯特林数

考虑到我并不是很会这两件事情。

挺坏的。

二项式系数

域的扩充

一般来讲我们要求二项式系数 \(\binom{n}{m}\)\(n\) 为正整数,但是我们扩充一下,\(n\) 为实数,\(m\) 为整数,那么有:

\[\binom{n}{m} = \begin{cases}\frac{n^{\underline{m}}}{m!}&k \ge 0 \\ 0 & k < 0\end{cases} \]

基础恒等式

  • 对称恒等式:当整数 \(n\ge0\) 时,有 \(\binom{n}{k} = \binom{n}{n - k}\)。特别的 \(n < 0\) 时不成立。
  • 吸收恒等式:\(\binom{n}{k}\) = \(\frac{n}{k}\binom{n - 1}{k - 1}\),也就是说 \(k\binom{n}{k} = n\binom{n - 1}{k - 1}\)
  • 相伴恒等式:\((r-k)\binom{r}{k} = r\binom{r - 1}{k}\)
    • 证明:\((r - k)\binom{r}{k} = (r - k)\binom{r}{r - k}\\ = r\binom{r - 1}{r - k - 1}\\ = r\binom{r - 1}{k}\)
  • 加法恒等式:\(\binom{n}{m} = \binom{n - 1}{m - 1} + \binom{n - 1}{m}\)
    • 除了利用定义和组合意义还有别的证明方法。
    • \(\binom{n}{m} - \binom{n - 1}{m - 1} = \frac{n - m}{n}\binom{n}{m}\\ = \frac{n\binom{n - 1}{m}}{n}\\ = \binom{n - 1}{m}\)
  • \(\binom{n}{m}\binom{m}{k} = \binom{r}{k}\binom{r - k}{m - k}\)
    • 可以用组合意义。
    • 组合意义下也可以改成下降幂相关。

求和相关

  • 上指标求和 \(\sum\limits_{0\le k\le n}{\binom{k}{m}} = \binom{n+1}{m+1}\)
    • 使用高贵的组合意义。
    • 一个有趣的组合意义:要在 \((n+1)\) 个号码中抽取 \((m+1)\) 个号码,那么最大号码是 \(k\) 时就有 \(\binom{k}{m}\) 种选法。
  • 下指标求和没有封闭形式。
  • 平行求和 \(\sum\limits_{k\le n}\binom{r+k}{k} = \binom{r+n+1}{n}\)
    • 变成 \(\sum\limits_{k \le n}\binom{r+k}{r}\) 后上指标求和。
  • 范德蒙德卷积
    • \(\sum\limits_{k}\binom{n}{k}\binom{r}{m - k} = \binom{n+r}{m}\)

二项式定理

  • \((x+y)^n = \sum\limits_{i = 0}\binom{n}{i}x^iy^{n - i}\)

部分练习待补充。

斯特林数

这也太牛了.jpg
,,

第二类斯特林数

组合意义:对于 \(n\) 个小球放入 \(k\) 个盒子,盒子无编号,小球有编号,要求每个盒子非空。一般记作 \(S(n, k)\) 或者 \(\begin{Bmatrix}n \\ k\end{Bmatrix}\)

递推式:\(S(n, k) = S(n - 1, k - 1) + S(n - 1, k)k\)。对于第 \(n\) 个小球有两种可能:第一种新开一个盒子,第二种在之前的盒子里面挑一个放进去。

容斥:钦定 \(i\) 个盒子不为空,那么 \(S(n, k) = \sum\limits_{i = 0}^k\dfrac{(-1)^{k - i}i^n}{(k - i)!i!}\)。注意到此式可以用 ntt 优化求出一行的第二类斯特林数。

请格外注意:\(S(0, 0) = 1\)!!!

第一类斯特林数

组合意义:对于 \(n\) 个元素划分成 \(k\) 个环的方案数,环之间无编号。一般记作 \(\begin{bmatrix}n\\ k\end{bmatrix}\)

递推式:\(\begin{bmatrix}n\\ k\end{bmatrix} = \begin{bmatrix}n - 1\\ k-1 \end{bmatrix} + \begin{bmatrix}n - 1\\ k\end{bmatrix}(n - 1)\)

上升幂,下降幂,普通幂转化

最常用的是普通幂转化为下降幂:\(x^n = \sum\limits_{k = 0}^n \begin{Bmatrix}n\\ k\end{Bmatrix}x^{\underline{k}}\)

下降幂转化为普通幂:\(x^{\underline{n}} = \sum\limits_{k = 0}^n (-1)^{n - k}\begin{bmatrix}n \\ k\end{bmatrix}x^k\)

上升幂转化为普通幂:\(x^{\bar{n}} = \sum\limits_{k = 0}^n \begin{bmatrix}n\\ k\end{bmatrix}x^{k}\)

普通幂转化为上升幂:\(x^n = \sum\limits_{k = 0}^n (-1)^{n - k}\begin{Bmatrix}n \\ k\end{Bmatrix}x^{\bar{k}}\)

斯特林反演?那是啥?不会。

试试看

P6620

CF1278F

zr3257

\(m\) 个小球,取 \(n\) 次,要求每次取出的小球相邻不同并且恰好有 \(k\) 个小球被取过,求方案数。允许 \(O(n^2)\) 通过。

注意到 \(m\) 在骗哥们。钦定只有 \(k\) 个小球,最后乘上 \(\binom{m}{k}\) 即可。

很明显的二项式反演,钦定(其实这里是至多形式)每次选择的在 \(t\) 个内,不难直接写出式子

\[f(k) = \sum\limits_{t = 0}^k (-1)^{k - t}\binom{k}{t}t(t - 1)^{n - 1} \]

考场上我到这里就坠了,写了个 ntt 优化拿了 65 就跑路了。

首先进行一点简单的观察:\(t\) 很讨厌,但是我们可以从 \(\binom{k}{t}\) 中分离出 \(\dfrac{1}{t!}\) 诞生 \(\dfrac{1}{(t - 1)!}\) 和后面结合。

\[\dfrac{f(k)}{k!} = \sum\limits_{t = 0}^k \dfrac{(-1)^{k - t}(t - 1)^{n - 1}}{(k - t)!(t - 1)!}\\ = \sum\limits_{t = 0}^{k - 1}\dfrac{(-1)^{k - 1 - t}t^{n - 1}}{(k - 1 - t)!t!} \\ = S(n - 1, k - 1) \]

最终 \(f(k) = k!S(n, k)\)。瓶颈在于求解多次 \(S\)。可以 \(O(n^2)\),也可以分块,每块快长为 \(B\) 那么最后对于一个询问只要用 \(B\) 次递推即可,那么时间复杂度是 \(O(\dfrac{n^2}{B}\log_2 n+qB)\)。人肉挑挑快长,但是很可能跑的没有 \(n^2\) 快(笑。

P4609

又是一个直方图问题,可以考虑笛卡尔树或者是转 01 刻画,当然这题并不需要。

注意到最高位置将两边截断了,令左边 \(x\) 个元素,右边 \((n - x - 1)\) 个元素,左边要取出 \((A-1)\) 个集合,右边要取出 \((B - 1)\) 个集合。一共要取出 \((A+B - 2)\) 个集合。若一个集合大小为 \(|S|\),那么它的贡献为 \((|S| - 1)!\),这恰好就是第一类斯特林数(圆排列),因此这一部分是 \(\begin{bmatrix}n - 1\\ A + B - 2\end{bmatrix}\) 的。最后要乘上组合数 \(\binom{A+B - 2}{A - 1}\)

CF1516E

一个经典结论:对于一个长度为 \(n\) 的排列,置换环数量若为 \(c\) 那么最小排序次数为 \((n - c)\)。详情我将会写在计数 (1)里面(里面希望可以总结一下刻画形态的 trick)。

因此最小排序次数为 \(k\) 那么就是 \(\begin{Bmatrix}n\\ n - k\end{Bmatrix}\),记 \(f(k) = \begin{Bmatrix}n \\ n - k \end{Bmatrix}\)

如何统计答案?因为两次操作可以抵消,所以 \(g(k) = \sum\limits_{2i \le k} f(k - 2i)\)

问题在于求解第 \(n\) 行第一类斯特林数最后 \(k\) 列。

我们采取这道题的组合意义来描述(第一类斯特林数的组合意义是很难刻画的)因为一次操作最多只会涉及到 \(2k\) 个数,其它数都不变,所以我们只要处理这些位置即可。具体的,令 \(g(i, j)\) 为进行 \(i\) 次操作,影响了 \(j\) 个数,那么 \(f(i) = \sum\limits_{j = 0}^{2k} \binom{n}{j}g(i, j)\),现在考虑 \(g(i, j)\) 的求解。

考虑加入最后一个置换环,大小为 \(w\),那么 \(g(i, j) = \sum\limits_{w}g(i - (w - 1), j - w)(w-1)!\binom{j -1}{w - 1}\)

posted @ 2025-08-18 12:41  CatFromMars  阅读(24)  评论(1)    收藏  举报