【笔记】基础组合数学 + 二项式系数恒等式

const int P = 1e9 + 7;
LL mod(LL x) { return (x % P + P) % P; }
void red(LL& x) { x = mod(x); }
LL qpow(LL a, LL b, int p = P) {
  LL r = 1;
  for (a %= p; b; b >>= 1, a = a * a % p)
    if (b & 1) r = r * a % p;
  return r;
}
template <int N, int P>
struct C_prime {
  LL fac[N + 10], ifac[N + 10];
  C_prime() {
    for (int i = fac[0] = ifac[0] = 1; i <= N; i++) fac[i] = fac[i - 1] * i % P;
    ifac[N] = qpow(fac[N], P - 2, P);
    for (int i = N - 1; i >= 1; i--) ifac[i] = ifac[i + 1] * (i + 1) % P;
  }
  LL operator()(int n, int m) {
    return n >= m ? fac[n] * ifac[n - m] % P * ifac[m] % P : 0;
  }
};

red = reduce

加了一点点小变形,可能有些限制在抄书的时候抄漏了,但是对于非负整数所有结论都是没有错的。

名称 公式 限制
阶乘展开式 \(\displaystyle\binom n k=\frac{n!}{k!(n-k)!}\) 整数 \(n\geq k\geq 0\)
对称恒等式 \(\displaystyle\binom n k=\binom n {n-k}\) 整数 \(n\geq 0\)\(k\) 为整数
吸收/提取恒等式 \(\displaystyle\binom n k=\frac{n}{k}\binom{n-1}{k-1}=\frac{k+1}{n+1}\binom{n+1}{k+1}\) 整数 \(k\neq 0\)
加法/归纳恒等式 \(\displaystyle\binom n k=\binom{n-1}{k}+\binom{n-1}{k-1}\) \(k\) 为整数
上指标反转 \(\displaystyle\binom {-n} k=(-1)^k\binom{n+k-1}{k}\) \(k\) 为整数(正负上指标的转换)
三项式版恒等式 \(\displaystyle\binom n m\binom m k=\binom n k\binom{n-k}{m-k}=\binom{n}{n-m, m-k, k}\) \(m,k\) 为整数
二项式定理 \(\displaystyle\sum_k\binom n k x^k y^{n-k}=(x+y)^n\) 整数 \(n\geq 0\)\(\text{abs}(x/y)<1\)
平行求和法 \(\displaystyle\sum_{k\leq m}\binom{k+n}{k}=\binom{n+m+1}{m}\) \(n\) 为整数
上指标求和 \(\displaystyle\sum_{0\leq k\leq n}\binom k m=\binom{n+1}{m+1}\) 整数 \(n,m\geq 0\)
范德蒙德卷积 \(\displaystyle\sum_k \binom r k\binom{s}{n-k}=\binom{r+s}{n}\) \(n\) 为整数
补充:三项式系数 \(\displaystyle\binom{n+m+k}{n,m,k}=\frac{(n+m+k)!}{n!\ m!\ k!}\) \(n, m, k\) 为整数
posted @ 2023-02-25 13:52  caijianhong  阅读(37)  评论(0编辑  收藏  举报