1. 程式人生 > >NOIp 數學知識點總結

NOIp 數學知識點總結

cat 相交 per 一行 noi oid pan for play

推薦閱讀 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 \]

組合數基本處理 \(O(n)\)

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);
}

數學規律

Catalan 數

\[\operatorname{Catalan}(n)=\displaystyle\frac{C_{2n}^n}{n+1}\]

1, 1, 2, 5, 14, 42, 132, ...

以下問題屬於 Catalan 數:

  1. \(2n\) 個人排成一行進入劇場。入場費 5 元。其中只有\(n\)個人有一張 5 元鈔票,另外 \(n\) 人只有 10 元鈔票,劇院無其它鈔票,問有多少中方法使得只要有 10 元的人買票,售票處就有 5 元的鈔票找零?
  2. 一位大城市的律師在她住所以北 \(n\) 個街區和以東 \(n\) 個街區處工作。每天她走 \(2n\) 個街區去上班。如果他從不穿越(但可以碰到)從家到辦公室的對角線,那麽有多少條可能的道路?
  3. 在圓上選擇 \(2n\) 個點, 將這些點成對連接起來使得所得到的 \(n\) 條線段不相交的方法數?
  4. 對角線不相交的情況下,將一個凸多邊形區域分成三角形區域的方法數?
  5. 一個棧 (無窮大) 的進棧序列為 \(1,2,3, \ldots ,n\) 有多少個不同的出棧序列?
  6. \(n\) 個結點可夠造多少個不同的二叉樹?
  7. \(n\) 個不同的數依次進棧,求不同的出棧結果的種數?
  8. \(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)\),該數列為?

Stirling 數

(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 \]

NOIp 數學知識點總結