定義
容易發現 \({n \brack m}_1 = \binom{n}{m}\)。
同時,展開可得:
結論
- \({n \brack m}_q = {n \brack n-m}_q\)
顯然。
- 若 \(n \ge 1\), \({n \brack m}_q = {n-1 \brack m-1}_q + q^m {n-1 \brack m}_q\)
證明
下文的 \(q\) 為 \(q\) 無線趨近於 q
的。
帶入 \(m = n - m\) 可以證明 \({n \brack m}_q = q^{n-m} {n-1 \brack m-1}_q + {n-1 \brack m}_q\)。
同時我們得到了一個 \({n \brack m}_q\) 的組合意義: 從 \((0,0)\) 開始,每次向上或向右走一步,走到 \((n-m,m)\) 的所有路徑中,\(q^{路徑右下方的格子數}\) 的和。
- \(\prod_{i=0}^{n-1} (1+q^iy) = \sum\limits_{i=0}^n q^{\binom{i}{2}} {n \brack i}_q y^i\)
證明
在 \(n = 1\) 的時候顯然滿足。
\(n > 1\) 時:
同時,我們又得到了一個 \({n \brack i}_q\) 的組合意義:在一個長度為 \(n\) 的序列中,取集合 \(S\),\({n \brack i}_q = \sum\limits_{|S| = i} \prod_{i \in S} q^{i 前沒有被選的元素數}\)
- \({n + m \brack k}_q = \sum\limits_{i=0}^k q^{(n-i)(k-i)} {n \brack i}_q {m \brack k-i}_q\)
證明
可以觀察其組合意義:\({n + m \brack k}_q\) 即為有長度為 \(n\) 的序列,取集合 \(S\),\(\prod_{i \in S} q^{i 前沒有被選的元素數}\)。
拆成左右兩半,左邊 \(n\) 個元素,右邊 \(m\) 個元素。設左邊集合為 \(S_l\),右邊為 \(S_r\),那么:
左邊貢獻為 \(\prod_{i \in S_l} q^{左邊 i 前沒有被選的元素數}\),右邊為 \(\prod_{i \in S_r} q^{i 前沒有被選的元素數 + n - |S_l|} \;\;\;\;\;\;\;\;\;\;\; = q^{(n-|S_l|)|S_r|} \prod_{i \in S_r} q^{i 前沒有被選的元素數}\)。
原式相當於枚舉 \(|S_l|\),然后相乘兩邊貢獻。
- \({n + m + 1 \brack n + 1}_q = \sum\limits_{i=0}^m q^i {n + i \brack n}_q\)
證明:不斷展開結論 2
中的 \({n \brack m}_q = q^{n-m} {n-1 \brack m-1}_q + {n-1 \brack m}_q\) 即可。
- \(\frac{1}{\prod_{i=0}^n (1-q^ix)} = \sum\limits_{i \ge 0} x^i {i+n \brack n}_q\)
證明
考慮數學歸納。在 \(n = 0\) 的時候顯然成立。
因此有 \(F = \frac{1}{1 - q^nx} \frac{1}{\prod_{i=0}^{n - 1} (1-q^ix)} = \frac{1}{\prod_{i=0}^{n} (1-q^ix)}\)。
試試看!
CF1603F
考慮如何求秩為 \(r\) 的 \(n\) 元組個數。
考慮讓初始序列只剩下基中的元素,然后再在元素間插入。基中的元素只要滿足前面的元素湊不出來當前元素即可,顯然方案數是 \(\prod_{0 \le i < r} (2^k - 2^i)\)。
接着在基中的元素間插入。插入在第 \(i\) 個元素之后的方案數顯然是 \(2^i\)。
因此插入產生貢獻的生成函數是 \(\prod_{0 \le i \le r} \frac{1}{1-2^ix} [x^{n-r}]\)。
根據結論 6,我們可以得到 \(\prod_{0 \le i \le r} \frac{1}{1-2^ix} [x^{n-r}] = {n \brack r}_2\)。
因此秩為 \(r\) 的 \(n\) 元組個數為 \({n \brack r}_2\prod_{0 \le i < r} (2^k - 2^i)\)
考慮原問題怎么做。
如果 \(x = 0\),那么答案就是秩為 \(k\) 的矩陣個數。
如果 \(x \neq 0\),可以發現對所有 \(x\) 答案都是一樣的,所以只要算出能表示出多少非 \(0\) 數即可。如果秩為 \(r\),那能表示出 \(2^r-1\) 個數,所以直接做即可。
SOJ #703. 【SPC #3】布爾立方 ~ Boolean Cube
發現如果不考慮主視和左視互不相同,是好做的。
考慮容斥,欽定左視圖分成了 \(i\) 組,主視圖分成了 \(j\) 組,設其答案為 \(G_{i,j}\)。設左視圖恰好分成了 \(i\) 組,主視圖恰好分成了 \(j\) 組的方案為 \(F_{i,j}\)。
那么有 \(G_{n,m} = \sum\limits_{i \le n} \sum\limits_{j \le m} \begin{Bmatrix} n \\ i \end{Bmatrix}\begin{Bmatrix} m \\ j \end{Bmatrix} F_{i,j}\)。
考慮斯特林反演,得 \(F_{n,m} = \sum\limits_{i \le n} \sum\limits_{j \le m} \begin{bmatrix} n \\ i \end{bmatrix}\begin{bmatrix} m \\ j \end{bmatrix} (-1)^{n-i+m-j} G_{i,j}\)。
因此答案為 :
根據上一題的結論,有 \(G_{n,m} = \prod_{1 \le k \le H} {n \brack r_k}_2 \prod_{0 \le i < r_k} (2^m - 2^i)\)
而 \(\prod_{0 \le i < r_k} (2^m - 2^i) = \prod_{0 \le i < r_k} 2^i(2^{m-i} - 1) = 2^{\binom{r_k}{2}} \frac{[m]!_2}{[m-r_k]!_2}\)
注意到現在第一維和第二維無關了!
考慮如何對所有 \(i\) 算出 \(f_i = \prod_{1 \le k \le H} \frac{[i]!_2}{[i-r_k]!_2}\)。這里只有乘法,因此求 \(\ln\) 之后就變成了 \(H\ln([i]!_2) - \sum_{1 \le k \le H} \ln([i-r_k]!_2)\),卷積即可(題解做法好像是 CZT,差分一下確實是 CZT 的形式,可能會更好寫)
然后目標變為了對所有 \(0 \le N \le 10^5\),求 \(g_N = \sum\limits_{i \le N} \begin{bmatrix} N \\ i \end{bmatrix} (-1)^{N-i} f_i\) 的值。
觀察到這很像是下降冪轉普通冪的柿子,但轉移矩陣似乎恰好反了。
因此考慮轉置原理。我們要求的是:
\(\begin{pmatrix} \begin{bmatrix} 0 \\ 0 \end{bmatrix} & -\begin{bmatrix} 0 \\ 1 \end{bmatrix} & \begin{bmatrix} 0 \\ 2 \end{bmatrix} & \cdots& (-1)^n\begin{bmatrix} 0 \\ n \end{bmatrix} \\ -\begin{bmatrix} 1 \\ 0 \end{bmatrix} & \begin{bmatrix} 1 \\ 1 \end{bmatrix} & -\begin{bmatrix} 1 \\ 2 \end{bmatrix} & \cdots& (-1)^{n-1} \begin{bmatrix} 1 \\ n \end{bmatrix} \\ \begin{bmatrix} 2 \\ 0 \end{bmatrix} & -\begin{bmatrix} 2 \\ 1 \end{bmatrix} & \begin{bmatrix} 2 \\ 2 \end{bmatrix} & \cdots& (-1)^{n-2}\begin{bmatrix} 0 \\ n \end{bmatrix} \\ \vdots&\vdots&\vdots&\ddots&\vdots\\ (-1)^n\begin{bmatrix} n \\ 0 \end{bmatrix} & (-1)^{n-1}\begin{bmatrix} n \\ 1 \end{bmatrix} & (-1)^{n-2}\begin{bmatrix} n \\ 2 \end{bmatrix} & \cdots& (-1)^{n-n}\begin{bmatrix} n \\ n \end{bmatrix} \\ \end{pmatrix} f\)
考慮求其轉置:給出 \(u\),求 \(v_k = \sum\limits_{i=0}^{n} u_i (-1)^{n-i} \begin{bmatrix} i \\ k \end{bmatrix}\)。
這下就是下降冪轉普通冪了!