组合数学 Part1 | 基础部分
哦就是不知道往哪里放的就写这里(?)
组合数学基础:加法原理和乘法原理。没有必要再介绍了。分类加法分步乘法
Lucas 定理
若 \(p\) 为质数,对于任意正整数 \(1\le m\le n\),有
\[\binom{n}{m}\equiv\binom{n\mod p}{m\mod p}\times\binom{n/p}{m/p}\pmod p
\]
但是有的时候 \(p\) 不是质数,就需要
扩展 Lucas 定理
这个东西跟 Lucas 定理没什么关系。你需要会中国剩余定理。
设 $p=p_1^{c_1} p_2^{c_2}... p_k^{c_k} $,得出一个同余方程组
\[\begin{cases}
\begin{aligned}
\binom{n}{m}\equiv x_1\pmod {p_1^{c_1}}\\
\binom{n}{m}\equiv x_2\pmod {p_2^{c_2}}\\
...\\
\binom{n}{m}\equiv x_k\pmod {p_k^{c_k}}
\end{aligned}
\end{cases}
\]
因为 \(p_1^{c_1},p_2^{c_2},...,p_k^{c}\) 两两互质,这个方程组就可以用中国剩余定理去解。
接下来的问题就是求 \(x_i\),也就是 \(\binom{n}{m}\pmod {p_i^{c_i}}\)。
然后就是把组合数拆开阶乘也拆开转换一下柿子就好了,具体看这篇%%%%%%%%%%%%%\偷感。
错排问题
起因是我在写某道绿,发现答案是用组合数乘上某个方案数,但是感觉这个方案数不是太好求,但是这不是绿吗!然后发现这是经典的错排问题。
求有多少种 \(1\) 到 \(n\) 的排列 \(a\),满足序列恰好有 \(m\) 个位置 \(i\),使得 \(a_i = i\)。
答案为 \(\binom{n}{m}D_m\),其中 \(D_m\) 为错位排列数,也就是 \(m\) 个元素每个都不在自己原来的位置上的方案数。
错排数怎么求呢?我们有递推式:
\[D_n=(n-1)\times(D_{n-1}+D_{n-2})
\]
往一个已经排好的 \(n-1\) 个元素的错位排列中加入一个新的元素,有两种选择:
- 占用某一个元素的位置,同时这个元素放到新元素的位置上。这种情况下的答案就是 \(D_{n-2}\)。
- 占用某一个元素的位置,同时这个元素不放到新元素的位置上。这种情况下的答案是 \(D_{n-1}\)。
然后这个某一个元素又有 \(n-1\) 种选择,乘起来就好。具体是怎样推荐看看这篇文章 dalao 画图超形象%%%%%
二项式定理
高中数学基础知识:
\[(a+b)^n=\sum_{i=0}^n \binom{n}{i}a^ib^{n-i}
\]
在 ABC399F 中亦有体现。
浙公网安备 33010602011771号