1. 程式人生 > 其它 >所有前端都要看的2D遊戲化互動入門基礎知識

所有前端都要看的2D遊戲化互動入門基礎知識

注:本文僅供個人參考用。

組合數遞推公式:

\[ {n \choose m}={{n-1} \choose {m-1}}+{{n-1} \choose m} \]

組合數恆等式:

\[ {n \choose m}={n \choose n-m} \]\[ \sum_{i=0}^n {n \choose i}=2^n \]

範德蒙卷積:

\[ \sum_{i=0}^k {n \choose i}{m \choose k-i}={n+m \choose k} \]

有用的:

\[ {n \choose i}{i \choose j}={n-j \choose n-i}{n \choose j} \]\[ \sum_{i=0}^n {i \choose j}={n+1 \choose j+1} \]

可重集排列:若有 $ n $ 個元素,它們去重後有 $ k $ 個元素,並且值為 $ a_i $,那麼將它們排列的方案數為

\[ \frac{n!}{\prod_{i=1}^k a_i} \]

可重集組合:若有 $ k $ 種物品,每種物品有無窮個,那麼從中選出 $ n $ 個物品的方案數為:

\[ {n+k-1 \choose k-1}={n+k-1 \choose n} \]

$ n $ 個互不相同的數的選出 $ m $ 個數所構成的圓排列個數為:

\[ \frac{A_n^m}{m}={n \choose m}(m-1)! \]

二項式定理:

\[ (a+b)^n=\sum_{i=0}^n {n \choose i} a_i b_{n-i} \]

容斥原理(二項式反演,應用時 $ f $ 或 $ g $ 陣列應該會很好求):

如果

\[ f_n=\sum_{i=0}^n {n \choose i} g_i \]

那麼有

\[ g_n=\sum_{i=0}^n (-1)^{n-i} {n \choose i} f_i \]

\(\text{Lucas}\) 定理,若 $ p $ 為質數,那麼有:

\[ {n \choose m} mod \ p={n/p \choose m/p} \times {n \ mod \ p \choose m \ mod \ p } mod \ p \]

卡特蘭數公式(\(1,2,5,14,42,132\)):

\[ C_n={2n \choose n} - {2n \choose n-1} \]

\[ C_i = {{2n \choose n} \over {n+1}} \]

第一類斯特林數(\({n \brack m}\) 表示把 $ n $ 個互不相同的元素劃分成 $ m $ 個圓的方案數):

\[ {n \brack m}={n-1 \brack m-1} + (n-1) \times {n-1 \brack m} \]\[ n!=\sum_{i=0}^n {n \brack i} \]

下降冪,上升冪:

\[ x^{\underline{n}}=\sum_{i=0}^n {n \brack i} (-1)^{n-i} x^i \]\[ x^{\overline{n}}=\sum_{i=0}^n {n \brack i}x^i \]

第二類斯特林數($ {n \brace m} $ 表示把 $ n $ 個互不相同的元素放進 $ m $ 個相同盒子的方案數):

\[ {n \brace m}={n-1 \brace m-1} + m \times {n-1 \brace m} \]

自然數冪:

\[ m^n=\sum_{i=0}^{\min(n,m)} {n \brace i} {m \choose i} i!=\sum_{i=0}^{\min(n,m)} {n \brace i} m^{\underline{i}} \]

自然數冪和( $ n \leq 10^9,k \leq 5000$ ):

\[ \sum_{i=1}^n i^k = \sum_{i=1}^n \sum_{j=0}^k {k \brace j}j!{i \choose j} \\ =\sum_{j=0}^k {k \brace j}j!\sum_{i=1}^n{i \choose j} \\ =\sum_{j=0}^k {k \brace j}j!{n+1 \choose j+1} \]

\(\text{CF932F}\) ( $ n \leq 10^9,k \leq 5000$ ):

\[ \sum_{i=1}^n {n \choose i} i^k=\sum_{i=1}^n {n \choose i}\sum_{j=0}^k {k \brace j}j!{i \choose j} \\ =\sum_{j=0}^k {k \brace j} j!\sum_{i=1}^n{n \choose i}{i \choose j} \\ =\sum_{j=0}^k {k \brace j}j! \sum_{i=1}^n {n-j \choose n-i}{n \choose j} \\ =\sum_{j=0}^k {k \brace j}n^{\underline{j}} 2^{n-j} \]

像2020聯合省選A卷還有把多項式拆成下降冪的套路吧。。。

未完待續\(\dots\)