推荐阅读 NOIp 基础数论知识点总结: https://www.cnblogs.com/greyqz/p/9473370.html
排列:\[\displaystyle A_n^m=\frac{n!}{(n-m)!}\]
全排列:\(A_n^n=n!\)
组合:\[\displaystyle C_n^m=\frac{A_n^m}{m!}=\frac{n!}{m!(n-m)!}\]
组合数的性质:
\[ \displaystyle C_n^m = C_n^{n-m} \]
\[ \displaystyle C_n^m= C_{n-1}^m+C_{n-1}^{m-1} \]
推导:\[ \displaystyle C_n^m = \frac{n!}{m!(n-m)!}= \frac{(n-1)!}{m!(n-m-1)!}\times\frac{n}{n-m}=\frac{(n-1)!}{m!(n-m-1)!}\times(1+\frac{m}{n-m})=C_{n-1}^{m}+\frac{(n-1)!}{(m-1)!(n-m)!}= C_{n-1}^m+C_{n-1}^{m-1} \]
\[ \displaystyle \sum_{i=0}^n C_n^i =\sum_{i=0}^nC_n^i1^{i}\cdot 1^{n-i}=(1 + 1)^n= 2^n \]
二项式定理:\[\displaystyle (a+b)^n=\sum_{i=0}^n C_n^i a^i b^{n-i}\]
\[ \displaystyle \sum_{i=0}^r C_{n+i}^i = C_{n+r+1}^r \]
\[ \displaystyle \sum_{i=0}^n i\cdot C_n^i =\sum_{i=1}^{n}n\cdot C_{n-1}^{i-1}=n\sum_{i=0}^{n-1}C_{n-1}^{i-1}= n2^{n-1} \]
\[ \displaystyle C_n^m\cdot C_m^r=C_n^r\cdot C_{n-r}^{m-r} \]
\[ \displaystyle C_n^0-C_n^1+C_n^2+\cdots +C_n^m=0 \]
const int N = 1e5 + 7, MOD = 1e9 + 7;
int add(int a, int b) { if ((a += b) >= MOD) a -= MOD; return a; }
int mul(int a, int b) { return ll(a) * b % MOD; }
int C(int a, int b) { return mul(jc[a], mul(ijc[a - b], ijc[b])); }
int qpow(int a, int b) {
int r = 1;
for (; b; b >>= 1) {
if (b & 1) r = mul(r, a);
a = mul(a, a);
}
return a;
}
int jc[N], ijc[N];
void ini() {
jc[0] = 1; for (int i = 1; i < N; i++) jc[i] = mul(jc[i - 1], i);
ijc[N - 1] = qpow(jc[N - 1], MOD - 2);
for (int i = N - 2; i >= 0; i--) ijc[i] = mul(ijc[i + 1], i + 1);
}
\[\operatorname{Catalan}(n)=\displaystyle\frac{C_{2n}^n}{n+1}\]
1, 1, 2, 5, 14, 42, 132, ...
以下问题属于 Catalan 数:
- 有 \(2n\) 个人排成一行进入剧场。入场费 5 元。其中只有\(n\)个人有一张 5 元钞票,另外 \(n\) 人只有 10 元钞票,剧院无其它钞票,问有多少中方法使得只要有 10 元的人买票,售票处就有 5 元的钞票找零?
- 一位大城市的律师在她住所以北 \(n\) 个街区和以东 \(n\) 个街区处工作。每天她走 \(2n\) 个街区去上班。如果他从不穿越(但可以碰到)从家到办公室的对角线,那么有多少条可能的道路?
- 在圆上选择 \(2n\) 个点, 将这些点成对连接起来使得所得到的 \(n\) 条线段不相交的方法数?
- 对角线不相交的情况下,将一个凸多边形区域分成三角形区域的方法数?
- 一个栈 (无穷大) 的进栈序列为 \(1,2,3, \ldots ,n\) 有多少个不同的出栈序列?
- \(n\) 个结点可够造多少个不同的二叉树?
- \(n\) 个不同的数依次进栈,求不同的出栈结果的种数?
- \(n\) 个 \(+1\) 和 \(n\) 个 \(-1\) 构成 \(2n\) 项 \(a_1,a_2, \ldots ,a_{2n}\),其部分和满足 \(a_1+a_2+ \cdots +a_k\ge 0(k=1,2,3, \ldots ,2n)\),该数列为?
(2007 普及)将 \(n\) 个数 \(1,2,\ldots,n\) 分成 \(r\) 个部分。每个部分至少一个数。将不同划分方法的总数记为 \(S_n^r\)。例如,\(S_4^2=7\),这 7 种不同的划分方法依次为 \(\{(1) , (234) \},\{(2) , (134) \},\{(3) , (124) \},\{ (4) , (123) \},\{ (12) , (34) \},\{ (13) , (24) \},\{ (14) , (23) \}\)。当 \(n=6,r=3\) 时,\(S_6^3=\)( )
\[ S_n^m = m S_{n-1}^{m} + S_{n-1}^{m-1} \]
\[ S_n^1 = 1,S_n^0 = 0,S_n^n = 1 \]
原文:https://www.cnblogs.com/greyqz/p/9841088.html