初等雙射構造

WrongAnswer_90發表於2024-04-16

My Blogs

下文中 \([n]\) 表示 \(\{1,2,3\dots n\}\)

P0

對於正整數 \(n\),稱 \(a_{1\dots k}\)\(n\) 的有序劃分,當且僅當 \(\sum_i a_i=n\)。給定 \(n(\geq 2)\),求滿足 \(\sum_{i}[2|a_i]\) 是偶數的有序劃分個數。

答案:\(2^{n-2}\)

\(n\) 的所有劃分可以看成有 \(n-1\) 個空位,每個空位可以放板或不放,總方案數是 \(2^{n-1}\)。現在只需要證明偶數的個數一半是奇,一半是偶。

對於一個有序劃分,若 \(a_1=1\),則把 \(a_1\)\(a_2\) 合併在一起。否則把 \(a_1\) 拆成 \(1\)\(a_1\)。經過這樣的操作,一定會改變偶數個數的奇偶性。

上述對映是一個 對合,即 \(f=f^{-1}\)。這樣就證明了奇偶兩邊的數量相等。

注意構造對合的時候不能對映到自己。

P1

\[\sum_{k=0}^m\binom{m+k}{k}2^{-k} \]

答案是 \(2^m\)。考慮一個長度為 \(2m\)\(01\) 序列,顯然有 \(2^{2m}\) 種。變形一下上式:

\[\sum_{k=0}^m\binom{m+k}{k}2^{m-k} \]

對於一個序列,若 \(0,1\) 都出現了 \(m\) 次,對應 \(k=m\),其方案數為 \(\binom{2m}{m}\)

否則考慮列舉二者中較多的第 \(m+1\) 次出現位置,則前 \(m+k\) 個需要填 \(m\) 個,\([m+k+2,2m]\) 隨便填,然後還需要確定眾數是誰(\(m+k+1\) 上填什麼),就得到了上式。

P2

\[\sum_{k=0}^n\binom{2k}{k}\binom{2n-2k}{n-k} \]

答案是 \(4^n\)。兩個上指標的和是 \(2n\),兩個下指標的和是 \(n\),看成是平面直角座標系上從 \((0,0)\) 開始走的路徑計數。

\(\binom{2k}{k}\) 看成是列舉和 \(y=x\) 的最後一個交點。設 \(m=n-k\),假設下一步向右走,走到 \(y=2n-x\) 直線上並且不走到 \(y=x\) 上的方案數可以用計算類似卡特蘭數的方式計算:

\[\sum_{i=0}^{m-1}\binom{2m-1}{i}-\binom{2m-1}{i-1}=\binom{2m-1}{m-1} \]

第一步也可以向上走,方案數一樣,\(2\binom{2m-1}{m-1}=\binom{2m}{m}\)。所以就是任意走 \(2n\) 步的方案數。

P3

\[\sum_{i\geq 0}\binom{x+y+i}{i}\binom{y}{a-i}\binom{x}{b-i} \]

答案是 \(\binom{x+a}{b}\binom{y+b}{a}\)。在兩邊同時乘一個 \(\binom{x+y}{x}\)

\[\sum_{i\geq 0}\binom{x+y+i}{x,y,i}\binom{y}{a-i}\binom{x}{b-i}=\binom{x+y}{y}\binom{x+a}{b}\binom{y+b}{a} \]

集合是這樣的形式:

1.png

其中 \(\lvert A\rvert=a,\lvert B\rvert=b,\lvert X\rvert=x,\lvert Y\rvert=y,\lvert A\cap B\rvert=i\),則左式比較平凡,先確定 \(x,y,i\),各含有多少各元素,然後確定 \(A,B\)\(X,Y\) 中的部分。

\(T\subseteq S\),且對於 \(i\in[1,\lvert T\rvert]\),確定了在 \(T\) 中第 \(i\) 大的元素在 \(S\) 中是第幾大,則稱確定了資訊 \((T,S)\)

右式相當於確定了資訊 \((X,X\cup Y),(B,X\cup A),(A,Y\cup B)\),至於要證明透過這三組資訊可以確定一個全序關係(即可以排序所有元素)。

考慮每次尋找最小的元素。首先根據 \((X,X\cup Y)\) 中的資訊,可以確定最小值一定不在 \(X\) 或者 \(Y\)。假設不在 \(Y\)(不在 \(X\) 同理):

\(X\cup A\) 的最小值在 \(B\) 中,那麼若 \(Y\cup B\) 的最小值在 \(A\) 中,則最小值就在 \(A\cap B\) 中,否則在 \(B\setminus (A\cap B)\) 中。

否則在 \(X\setminus B\) 中。

上面這一過程沒有資訊的浪費(???),所以對映是單的。

P4

\[\sum_{k=0}^n\binom n k^2x^k=\sum_{k=0}^n\binom{2n-k}{n-k,n-k,k}(x-1)^k \]

右式可以變成 \(\binom n k\binom{2n-k} n(x-1)^k\)

左式的組合意義是:\(S,T\subseteq [n],\lvert S\rvert=\lvert T\rvert,f:S\rightarrow[x]\) 的元組 \(A:(S,T,f)\) 數量。

右式的組合意義是 \(S\subseteq[n],T\subseteq[2n]\setminus S,\lvert T\rvert=n,f:S\rightarrow [x-1]\) 的元組 \(B:(S,T,f)\) 數量。

建立雙射 \(F:A\rightarrow B\)

對於左式中的 \((S,T,f)\),構造 \(S'=\{y\in S|f(y)!=x\},f'(x)=f(x),T'=\{y\in[n]|y\notin S\}\cup(n+T)\)。注意到因為 \(a\in S'\) 中不含 \(f(a)=x\)\(a\),所以對映 \(f'\) 合法。顯然 \(\lvert T'\rvert=n\)

這種對映對於不同的 \(A\),顯然會對映到唯一的 \(B\)

\(F':B\rightarrow A\)

對於右式中的 \((S,T,f)\),構造 \(T'=\{x-n|x\in T,x>n\}\)\(S'=[n]\setminus T\)\(f'(a)=\begin{cases}f(a)\;\; a\in S \\ x\qquad a\notin S\end{cases}\),這樣仍然只會對映到唯一的 \(A\)

P5.1

\(A\)\(n\) 的有序劃分,求:

\[\sum_{A\;\text{is}\;\text{valid}}\prod_{j=1}^ka_j \]

答案是 \(F_{2n-1}\)\(F\) 是斐波那契數列。

考慮畫出 \(n\) 個圓圈,每兩個圓圈中間畫一個點,共 \(2n-1\) 個元素,然後選擇 \(2n-1\) 個元素的一個子集,使得 第一個選的和最後一個選的都是圓圈,並且每兩個選擇的圓圈間恰有一個點被選擇。

這樣一個點就代表一個隔板,把 \(n\) 分隔成了若干份,每一份有 \(a_i\) 個圓圈,每個要段中要再選一個,貢獻就是乘起來。

可以等價於把 \(2n-1\) 分成若干個 \(1,2\),選擇所有大小為 \(1\) 的塊包含的元素,就是斐波那契數列。

P5.2

\(A\)\(n\) 的有序劃分,求:

\[\sum_{A\;\text{is}\;\text{valid}}\prod_{j=1}^k(2^{a_j-1}-1) \]

答案是 \(F_{2n-3}\),其中 \(F\) 是斐波那契數列。

首先考慮怎麼把 \(2^{a_i-1}-1\) 和劃分成 \(1,2\) 的段找到聯絡。

對於一個 \(a_i\),考慮把 \(2a_i\) 劃分成若干段,每段的長度是 \(1\)\(2\)。滿足:

  1. 首段長為 \(1\),末段長為 \(2\)

  2. 設長為 \(1\) 的段有 \(k\) 段,則 \(k\) 是偶數,並且對於 \(1\sim k-1\) 中的每個偶數 \(z\),第 \(z\)\(1\) 後面也是 \(1\)

這樣的方案數就是 \(2^{a_i-1}-1\),考慮去掉開頭的第一個 \(1\) 和結尾的 \(2\),然後在最後一個 \(1\) 後面填一個 \(1\),這樣就是有一個長度為 \(2a_i-3+1\) 的段,沒相鄰兩個為一組,每組可以是 \(\{1,1\}\) 或者是 \(\{2\}\),並且不能全部是 \(\{2\}\),所以答案就是 \(2^{a_i-1}-1\)

然後對於一個數,考慮把所有 \(a_i\) 的拆分段拼起來形成一個和為 \(2n\)\(1,2\) 序列。因為開頭的 \(1\) 和末尾的 \(2\) 是固定的,所以方案數是 \(F_{2n-3}\)

現在證明每一個序列都對應唯一的劃分方式。首先 \(1\) 的總個數一定是偶數。執行這樣一個過程:從前向後,不斷找到滿足下一位是 \(1\) 並且前面的 \(1\) 的個數是偶數的第一個 \(2\) 並作為一個劃分的結尾。

P6(模擬賽題)

\[f(n)=\sum_{m=0}^n\sum_{k=m}^n\binom k m\binom{k-m}{\lfloor\frac{k-m} 2\rfloor}2^{n+m-k} \]

要求 \(\mathcal O(n)\)

整理一下式子:

\[\sum_{k=0}^n2^{n-k}\sum_{m=0}^k\binom k m\binom{k-m}{\lfloor\frac {k-m} 2\rfloor}2^m \]

問題轉為求後半部分 \(g(n)=\sum_{m=0}^n\binom n m\binom{n-m}{\lfloor\frac {n-m} 2\rfloor}2^m\)

考慮 \(S=[2n+1]\)\(1\)\(2\) 匹配,\(3\)\(4\) 匹配 \(\dots\) \(2k-1\)\(2k\) 匹配(\(k\leq n\)),\(2n+1\) 沒有匹配。

對於 \(x\leq 2n\)\(x\) 的匹配為 \(m(x)\)

選取 \(T\subseteq S\) 使得 \(\lvert T\rvert=n\)。對於每種方案,記 \(R=\{x|x\in T,x\not= 2n+1,m(x)\notin T\}\),設 \(\lvert R\rvert=k\),則 \(T\) 內部有 \(\frac{n-k} 2\) 對匹配。這樣就有了組合意義:

先確定 \(n\) 對匹配中 \(k\) 個恰好只被選入一個到 \(T\) 中,並且決定是哪個被選入,方案數是 \(\binom n k 2^k\)

剩下的部分還要選 \(\lfloor \frac{n-k}{2}\rfloor\) 對匹配,方案數是 \(\binom{n-k}{\lfloor \frac{n-k}{2}\rfloor}\)

然後如果 \(n-k\) 是奇數,就把 \(2n+1\) 選進去,否則不選,這樣集合大小一定能湊成 \(n\)。所以答案就是 \(g(n)=\binom{2n+1}{n}\)。預處理組合數,預處理字首和可以做到 \(\mathcal O(n)\)

相關文章