GOOD BYE OI


**
大米餅正式退役了,OI給我帶來很多東西
我會的數學知識基本都在下面了
博客園的評論區問題如果我看到了應該是會盡力回答的...
這也是我作為一個OIer最后一次講課的講稿
20190731
**

多項式乘法

FFT

基本概念

1.多項式的兩種表達(拉格朗日插值法)

多項式:\(A(x) = \sum_{i=0}^{n-1}a_ix^i\),最高項次數為\(n-1\),次數界為\(n\)

\((a_0,\cdots,a_{n-1})\)為多項式的系數表達, \((x_0,y_0),\cdots,(x_{n-1},y_{n-1})\) 為多項式的點值表達

2.\(n\)次單位根(泰勒展開(對多項式也適用),歐拉公式,單位根,引理)

泰勒展開:

函數f(x)在\(x=x_0\)除的展開為:

$f(x) = f^0(x_0) + f^1(x_0)(x-x_0) + f^2(x_0)\frac{(x-x_0)^2}{2!} + \cdots + f^i (x_0)\frac{(x-x_0)^i}{i!} +\cdots $

其中\(f^i(x)\)表示\(f(x)\)\(i\)次導數(所以要運用首先你得記住初等函數的求導公式):

\[練習:\\ e^x \ = \ \sum_{i}\frac{x^i}{i!}\\ ln(1-x) \ = \ - \sum_{i\ge 1} \frac{x}{i} \\ cos(x) \ = \ \sum_{i} \frac{(-1)^ix^{2i}}{(2i)!} \\ sin(x) \ = \ \sum_{i} \frac{(-1)^ix^{2i+1}}{(2i+1)!} \\ \frac{1}{(1-x)^k} \ = \ \sum_{i}(^{k+i-1}_i)x^i \\ \]

可以證明一個表達式:

\[e^{\pm ix} = cos(x) \pm isin(x) \]

這指出\(e^{ix}\)對應的復平面上的點是 \((cos(x),sin(x))\) ,另外得到歐拉公式:

\[e^{\pi i } + 1 = 0 \]

有:

\[e^{2\pi i} = 1 \]

定義n次單位根\(x^n = 1\) 為滿足的\(n\)個復數

一個可行的方式是$\omega_n \ = \ e^{2 \pi i /n} $ ,在復數平面上,形成了一個乘法的循環,即\(\omega_n^k = \omega_n^{k \ mod \ n}\)

性質:
1.消去引理:$ \omega_{dn}^{dk} = \omega_n^k ,d \neq 0$

​ 2.折半引理: n次單位跟平方的集合 = n/2次單位根平方的集合

​ 3.求和引理(等比數列求和即可證明) :

\[\frac{1}{n}\sum_{i}^{n-1}\omega^{ij}_n \ = \begin{cases} 1 & j \ mod \ n = 0\\ 0 & j \ mod \ n !=0\\ \end{cases} \]

DFT

1.概念:

DFT,IDFT,矩陣(定義,轉置,乘法,初等變換(換法,倍法,消法),逆矩陣(存在性)),逆矩陣(求和引理)

​ 定義 $A(x) = \sum_{i}^{n-1} a_ix^i $ 的DFT為點值表達:\(((w_n^0,y_0),\cdots,(w_n^{n-1},y_{n-1} ))\)

​ 反過來可以對一個點值表達定義求表達,稱為IDFT

​ 用矩陣表達:$Y = VA \Rightarrow A = V^{-1}Y $

​ $A_i = a_i, Y_i = y_i , V_{i,j} \ = \ w_n^{ij} $

根據求和引理:$V^{-1}{ij} =\frac{w{n}^{-ij} }{n} $

完整寫一下DFT和IDFT就是

\[y_j \ = \ \sum_{i=0}^{n-1} a_i w_n^{ij} \\ y_j \ = \ \frac{1}{n} \sum_{i=0}^{n-1} a_i w_n^{-ij} \\ \]

2.求法:(\(A_0,A_1\),折半引理,蝴蝶操作)

兩個式子本質上是一樣的,考慮求第一個:
對於A(x),構造

\[A_0 (x) = a_0 + a_2 x^2 + \cdots + a_{n-2}x^{n/2-1} \\ A_1 (x) = a_1 + a_3 x^2 + \cdots + a_{n-1}x^{n/2-1} \\ \Rightarrow A(x) = A_0(x^2) + xA_1(x^2) \\ 根據折半引理,問題規模大小就被我們減到了一半 \\ 具體實現,只需要翻轉系數的二進制位就可以了 \\ \]

//len為多項式次數界,2^L = len  , C 為自定義復數 
for(int i = 0;i < len; i++) R[i] = R[i>>1]>>1 | (i&1) << (L-1) ;
void FFT(C *a,int f) {//f = 1/-1 ,正/逆變換
     for(int i = 0; i < len; i++) if(i < R[i]) swap(a[i],a[R[i]]);
     for(int i = 1; i < len; i<<=1) {
         C wn(cos(pi/i),f * sin(pi/i));
         for(int j = 0; j < len; j+=(i<<1)) {
             C w(1,0);
             for(int k = 0; k < i; k++,w*=wn) {
                 C x = a[j + k],y = w * a[j + i + k];
                 a[j + k] = x + y,a[j + i + k] = x - y;
             }
         }
     }
     if(f==-1) for(int i = 0; i < len; i++) a[i] /= len;
 }

NTT

使用於運算在mod P 的意義下進行

如果n | P -1 , 令 G 為 P 的原根,

MTT

處理不是ntt模數的情況

拆系數ntt:

按照二進制拆成前15位和后15位,分別相乘

構造 \(P(x) = A(x) + iB(x) , Q(x) = A(x) - iB(x)\)

簡單推導結論:\(dft \ Q_k \ = \ dft \ P_{n-k}\)

另外還有三模數ntt(不會。。。)

例題

1.通串的匹配問題

2.loj6434 神仙的游戲

3.bzoj3992 序列統計 (原根)

分治FFT 

1.普通形式模板

2.f = f 卷 f 的形式,直接做會有問題

只會在l = 左邊界的時候有點問題,不妨直接不確定的那部分系數去掉

當 l 是不是邊界的時候將貢獻/2,在分治的最底層乘回來

3.兩道可以感受分治ntt的好題:

cd 848E Days of Floral Colours (1)

uoj401 青蕈領主 (2)

**FWT FMT FST **

1.問題,基本思想,構造的東西

可以參考

AGC034F RNG and XOR

cf1119H Triple

uoj348 周區划分

循環卷積與n進制異或fwt

(考慮FFT系數超出設置的len會怎么樣?) 

JZOJ6239 

同樣我們根據最高位分類:\(A_0,A_1,\cdots,A_{n-1}\)

考慮只有一維的情況,需要找到一個變換

使得變換->點乘->逆變換之后得到的是mod n的加法

可以聯想到循環卷積,直接令變換的矩陣為V即可

和fwt同理擴展到很多維就可以了

生成函數和多項式

1.定義

策爺的課件

​ OGF EGF ,加法乘法的意義

2.例子:

二進制數,背包的計數理解OGF的拼接

置換的計數,無向圖計數理解序列EGF的拼接

3.多項式相關
0.預備知識:高中數學,部分高等數學

​ 多項式求導,多項式積分

​ 1.多項式求逆,多項式開根

bzoj3625 小朋友和二叉樹

​ 分治fft很多時候都多項式求逆做

​ 2.多項式ln

luogu U79666 樹上深度博弈

​ 3.牛頓迭代,多項式exp ,多項式求冪

luogu 4389 付公主的背包

uoj50 鏈式反應

​ 4.多項式除法,取模

​ 常系數線性齊次遞推 (*)

​ (行列式定義,的五點性質:轉置,換法(推),倍法(推),分拆(推出展開),消法)

luogu 4723 線性遞推模板

​ 5.多點求值和快速插值( *)

uoj182 a^-1 + b problem

​ 6.拉格朗日反演 (*)

\[f(g(x)) = g(f(x)) = x ,即:f是g的復合逆\\ [x^n]f(x) = \frac{1}{n}[x^{n-1}](\frac{x}{f(x)})^n \\ 推廣形式: [x^n]h(g(x)) = \frac{1}{n}[x^{n-1}]h'(x)(\frac{x}{f(x)})^n \\ \]

bzoj3684 大朋友和二叉樹

這里有一篇十分通俗的微分doc :
一階微分方程解法

數論

基本定理

完全剩余系性質

威爾遜定理:

\[p是質數 \Leftrightarrow (p - 1)! \equiv -1 (mod \ p)\\ \]

費馬小定理:

\[p 是質數,a不整除p \Rightarrow a^{p-1} \equiv 1 (mod p) \]

歐拉定理:(積性函數,線篩)

\[phi(p)定義為1 \to p-1和p 互質的數的個數 \\ 如果p = \prod_{i=1}^{m} a_i^{b_i} , \phi(p) = p \prod_{i=1}^{m} (1-\frac{1}{a_i}) \\ 歐拉定理描述為:\\ (a,p) = 1 \Rightarrow a^{\phi(p) } \equiv 1 (mod \ p ) \\ \]

勒讓得定理:

\[n!的唯一分解中質因p的個數為:\\ \sum_{k\ge1}\lfloor \frac{n}{p^k} \rfloor \\ \]

中國剩余定理(CRT):

\[\begin{cases} x \equiv a_1 (mod \ m_1) \\ x \equiv a_2 (mod \ m_2) \\ \vdots \\ x \equiv a_n (mod \ m_n) \\ \end{cases} \\ 當m_1,m_2,\cdots,m_n兩兩互質一定有解為:\\ x \equiv \sum_{i=1}^{m}a_iM_iM_i^{-1} (mod \ M) \\ 其中M=\prod_{i=1}^{n}m_i ,M_i = \prod_{j=1,j \neq i}^{n}m_j\\ M_i^{-1}M_i \equiv 1 (mod \ m_i) \\ \]

擴展CRT:\(m_1,m_2,\cdots,m_n\)不滿足兩兩互質;
(百度的第一篇博客推法思路大致是的,但是里面有很多多余的步驟?)

\[只需要考慮如何解: \begin{cases} x \equiv a_1 (mod \ m_1) \\ x \equiv a_2 (mod \ m_2) \\ \end{cases} \\ x = k m_1 + a_1 \\ \Rightarrow km_1 = a_2 - a_1 (mod \ m_2) \\ 有解的充要條件是:(m_1,m_2) | a_2 - a_1 \\ \Rightarrow k\frac{m_1}{(m_1,m_2)} = \frac{a_2 - a_1}{(m_1,m_2)} (mod \ \frac{m_2}{(m_1,m_2)}) \\ \Rightarrow k = \frac{a_2 - a_1}{(m_1,m_2)}(\frac{m_1}{(m_1,m_2)})^{-1} (mod \ \frac{m_2}{(m_1,m_2)}) \\ 我們右邊 = t ,則有k = k'\frac{m_2}{(m_1,m_2)} + t \\ x = k m_1 + a_1 = k'\frac{m_1m_2}{(m_1,m_2)} + tm_1 + a_1 \\ 即: x \equiv (inv({m_1\over (m_1,m_2)},{m_2\over (m_1,m_2)})*{(a_2-a_1)\over (m_1,m_2)})\%{m_2\over (m_1,m_2)}*m_1+a_1 (mod \ \frac{m_1m_2}{(m_1,m_2)}) \\ \]

素數判定和大整數分解

Miller-Rabin

1.理論基礎:

​ 1)費馬小定理的逆定理

​ 有一定概率不成立,我們稱這樣的p為偽素數

​ 2)二次探測定理:

​ $p是素數,x^2 \equiv 1 (mod \ p ) \Rightarrow x \equiv -1 \ or \ 1 (mod \ p) $

2.算法流程 miller_rabin(long long n)​:

​ 1)隨機一個數字$a < n $, 設 \(u\)\(n - 1\) 除去\(2\)的次冪剩下的數

​ 2)對 \(a^{u}\)\(a^{2u}\) 做二次探測並不斷令\(u = 2u\) 直到$ u = n -1$

​ 3)對\(a^u\)\(a^{n-1}\)檢驗費馬小定理

​ 可以多做幾次.

Pollard-Rho

1.理論基礎:
1)生日悖論

​ 2)floyd判環法

​ 相遇后,令一個指針不動,另一個回到起點二者同速運動可巧妙找到環的起點

2.算法流程 pollard-rho(long long n) :
1)miller-rabin(n)檢測成功則退出,否則進入2)嘗試找到一個非平凡因子

​ 2)用$ x_{i} = (x_{i-1}^2 + c) \ mod \ (n-1) + 1 $ 生成偽隨機數

​ 判斷\(gcd(x_i - y ,n )\)是否是非平凡因子,是則退出

​ 在\(i\)是2的冪處記錄\(y = x_i\),在\(2i\)處更新\(y\),其間如果有\(x_{(i+1) \to 2i} = y\)則說明出現了環

​ 這樣做據說\(O(n^{\frac{1}{4}})\)的 ,我不會證

另:O(1)快速乘法

inline long long multi(long long x,long long y,long long mod)
{
    long long tmp=(x*y-(long long)((long double)x/mod*y+eps)*mod);
    return tmp<0 ? tmp+mod : tmp;
}
eps 是用來設置精度的
雖然快但是比較容易炸精度,慎用...

二次剩余

1.判定:

​ 二次剩余的個數為\(\frac{p-1}{2}\)

​ 勒讓徳符號 \((\frac{a}{p}) = a^{\frac{p-1}{2}}\) (a<p)

​ 歐拉判別法:

\[a 是 0 的充分必要條件是(\frac{a}{p}) = 0\\ a 是 p 的二次剩余的充分必要條件是(\frac{a}{p}) \equiv 1 (mod \ p) \\ a 是 p 的二次非剩余的充分必要條件是(\frac{a}{p}) \equiv -1 (mod \ p) \\ \]

(證明:先用費馬小證=1的必要以及二分性,再配對反證充分性)

2.(*)求法:cipolla算法

​ 解:$x^2 \equiv n (mod \ p) $

​ 考慮隨機一個\(p\)的二次非剩余$a^2 - n $

​ 定義一個新的數域(類似復數域)令\(w = \sqrt{a^2 - n}\)

​ 則\(x = \pm (a+w)^{\frac{p+1}{2}}\)

\[\begin{align} &(a+w)^{p+1}\\ &= (a+w)^p (a+w) \\ &= (a^p+w^p)(a+w) \\ &= (a-w)(a+w) \\ &= a^2 - w^2 \\ &= n \\ \end{align} \]

最后結果里面的x虛部一定是0,據說是因為由拉格朗日定理\(f(x) \equiv 0\)在mod p 的數域下最多只有f(x)的最高次數那么多個根,我也不知道為什么.....

組合數

1.部分組合恆等式:

\[\begin{align} &定義可得:\\ &1) \ (^n_m) = (^{n-1}_{m-1}) + (^{n-1}_{m})\\ &2) \ (^{n+1}_m) = \frac{n+1}{n-m+1}(^{n}_{m}) \\ &3) \ (^n_{m+1}) = \frac{n-m}{m+1}(^{n}_{m}) \\ &4) \ (^{n+1}_{m+1}) = \frac{n+1}{m+1}(^n_m) \\ &下面要講的二項式定理可以推:\sum_{i=0}^n(^n_i) = 2^n \\ &\sum_{i=0}^{min(a,b)}(^a_i)(^b_i) = (^{a+b}_b) \Rightarrow \sum_{i=0}^n(^n_i)^2 = C_{2n}^n\\ &組合數的一個豎列和斜列都是可以化簡的:\\ &1)\sum_{i=0}^{k}(^{n+i}_{m+i}) = (^{n+k+1}_{m+k}) - (^n_{m-1}) \\ &2)\sum_{i=0}^{k}(^{n+i}_{m}) = (^{n+k+1}_{m+1})-(^n_{m+1}) \\ \end{align} \]

2.二項式定理

\[(a+b)^n = \sum_{i=0}^{n} (^n_i)a^ib^{n-i} \\ \]

這個可以歸納證.

3.lucas定理

\[p是素數,設n = sp+q,m = tp+r (q,r<p)\\ 則:\\ (^n_m) \equiv (^s_t)(^q_r) \\ \]

這個可以在p進制下擴展

可以構造\((1+x)^n\) 利用二項式定理證明

4.擴展lucas :

bzoj4830 拋硬幣

bsgs

\[\begin{align} &求:A^x \equiv B (mod \ C)的最小非負整數解,滿足(A,C)=1\\ &(A,C)=1 \Rightarrow A^x\equiv A^{x \ mod \ \phi(c)} (mod \ C)\\ &那么令m = \lceil \sqrt C \rceil ,A^{im-j} \equiv B(mod \ C)\\ &(A^{m})^i \equiv A^jB(mod \ C)\\ &用hash表存下右邊,枚舉左邊即可求解 \\ \end{align} \]

時間復雜度:\(O(\sqrt C 或 \sqrt C log \sqrt C)\)

擴展bsgs

\[問題一樣,只是沒有(A,C) = 1 ,這是就沒有歐拉定理了 \\ 首先判掉B = 1,0的情況 ,考慮不斷除去a 和模數的gcd:\\ 設D = \prod_{i=1}^{k}d_i,其中d_i表示第i次求得a和模數的gcd\\ A^{x-k} \frac{A^k}{D} \equiv \frac{B}{D} (mod \ \frac{C}{D})\\ 枚舉x = 1 \to k ,x > k 的移項之后可以直接bsgs \]

**線性代數 **

1.矩陣

​ 高斯-亞當消元求逆矩陣(滿秩)

​ 線性相關/無關,張成,基

​ 線性基

​ 插入,合並,詢問最大/最小值,查詢排名,查詢第k小

bzoj 2844 albus就是要第一個出場

bzoj3569 DZY Loves Chinese II

你們哪天看懂了證明記得告訴我

2.行列式

\[det(A) = \sum_{P} (-1)^{\tau(P)} \prod_{i=1}^{n} A_{i,p_i}\\ \]

​ 性質:

​ 1.初等變換:1 2 3

​ 2.\(det(A^\tau) = det(A)\)

​ 3.\(det(A) = det(A)det(B)\)

​ 證明:拉普拉斯定理

​ Matrix - tree 定理 (K=D-A)

2016級的*ZJ學長

BEST定理

群論

1.群的判定:

​ (a)封閉性:任意\(a,b\in G\) ,存在\(c \in G,a \cdot b=c\)

​ (b)結合律:任意$a,b,c\in G \(,滿足\)(a \cdot b)\cdot c = a \cdot (b \cdot c) $

​ (c)單位元:存在\(e \in G\),對任意\(a \in G\),滿足\(a \cdot e = e \cdot a = a\)

​ (d)逆元:對任意\(a \in G\),存在\(b \in G\)\(a \cdot b = b \cdot a = e\),記做\(b = a^{-1}\)

​ (置換,置換的乘法,置換群)

2.burnside 引理

\[\begin{align} &L = \frac{1}{|G|}\sum_{j=1}^{s}D(a_j)\\ &其中L表示本質不同的元素個數,G表示置換群為\{a_1,\cdots,a_s\},\\ &D(a_j)表示置換a_j下的不動點個數\\ &證明:\\ &引理1:定義穩定核G(c)為集合\{f|f \cdot c = c ,c \in G\} ,它是一個群\\ &引理2: 和c本質相同的方案數:\frac{|G|}{G(c)}\\ &證明:\\ & \ \ 若f,g,c \in G \ 則 \ f \cdot c = g \cdot c \Leftrightarrow f^{-1}g \in G(c) \\ & \ \ 那么對於一個f ,和它作用相同的置換g的集合是\{f \cdot h | h \in G(c)\} \\ & \ \ 那么和c 本質相同的方案數為\frac{|G|}{|G(c)|}\\ &立即推出:|G(c)| = \frac{|G|}{|等價類(c)|}\\ &對f\cdot c=c的(f,c)計數\\ &1) \sum_{j=1}^{s}D(a_j)\\ &2) \sum_{i=1}^{n}|G(c)| = \sum_{i=1}^{n}\frac{|G|}{|等價類|} = L|G|\\ &最后一步是一起考慮一個等價類的貢獻,1)和2)相等即推出burnside引理! \end{align} \]

3.polya 定理

​ 每個置換都可以寫成若干個互不相交的循環的乘積

​ 設G是一個n階置換的群,用m種顏色去塗:

\[L\ = \ \frac{1}{G}(m^{c(g_1)} + m^{c(g2)}+\cdots+m^{c(g_n)}) \\ \]

其中\(g_i \in G\)\(c(g_i)\)\(g_i\)中循環的個數

luogu 4916 魔力環

prufer 序列

有標號無根樹

生成,性質,還原

bzoj1005 明明的煩惱

概率論

我理論部分基本空白,只知道一些結論:

\(f(x)\)\([L,R]\)的期望

\[\begin{align} 如果x是一個[L,R]均勻分布的隨機變量\\ E(f(x)) \ = \ \frac{\int_{L}^{R} f(x) \ dx}{R-L} \\ \end{align} \]

貝葉斯公式

\[P(A|B) = \frac{P(B|A)P(A)}{P(B)} \\ \]

uoj299 游戲

博弈論

....

重點理解sg函數

容斥和反演

基本形式

\[\begin{align} ans = \sum_if(i)a_i \\ \end{align} \]

組合數容斥

\[\begin{align} &f(i) = (-1)^i\\ &\sum_{i=0}^{n}(-1)^i(^n_i) = [n=0] \\ &因為:(或者直接考慮(1-1)^n)\\ &\begin{cases} 當n = 0,顯然= 1\\ 當n \gt 0:原式= \sum_{i=0}^{n-1}(-1)^{i+1}(^{n-1}_i) + \sum_{i=0}^{n-1}(-1)^i(^{n-1}_i) = 0\\ \end{cases} &\end{align} \]

loj2351 毒蛇越獄

**二項式反演 **

\[f(n) = \sum_{i=0}^{n}(^n_i)g(i) \Leftrightarrow g(n) = \sum_{i=0}^{n}(-1)^{n-i}(^n_i)f(i)\\ 另一種更好看的形式:\\ f(n) = \sum_{i=0}^{n}(-1)^{i}(^n_i)g(i) \Leftrightarrow g(n) = \sum_{i=0}^{n}(-1)^{i}(^n_i)f(i)\\ 另一種不太好看的形式:\\ f(i) = \sum_{j\ge i}(^j_i)g(j) \Leftrightarrow g(i) = \sum_{j \ge i}(-1)^{j-i}(^j_i) f(j) \\ \]

經典的錯排問題

loj3120 珍珠

斯特林容斥

\[\begin{align} &f(i) = (-1)^{i-1}(i-1)! \\ &\sum_{i=1}^{n}\{^n_i\}(-1)^{i-1}(i-1)! = [n=1] \\ &因為:\\ &\begin{cases} 當n = 1,顯然 = 1\\ 當n \gt 1,原式 = \sum_{i=1}^{n-1}(-1)^{i-1}i!\{^{n-1}_{i}\}+\sum_{i=1}^{n-1}(-1)^ii!\{^{n-1}_{i}\} = 0\\ \end{cases} \end{align} \]

斯特林數(定義,遞推式,求法 : I 倍增FFT,||卷積,用於轉換冪,反轉公式)

bzoj 異或圖

斯特林數

1.定義:

\[1.兩類數的遞推式:\\ [^n_i] = [^{n-1}_{i-1}]+(n-1)[^{n-1}_i]\\ \{^n_i\} = \{^{n-1}_{i-1}\} + i\{^{n-1}_i\}\\ 根據定義 \sum_{i=0}^{n}[^n_i] = n!\\ \]

2.斯特林數一行的求法:

第一類:(倍增fft)

\[[_m^n] = [x^m] x^{\overline n}\\ 倍增FFT即可 \]

\(O(m \ log \ m )\)

第二類:(存在卷積形式)

\[根據組合意義可以知道:\\ n^m = \sum_{i=0}^{m}(^m_i)\{^n_i\}i!\\ 對上面的式子二項式反演或者直接考慮容斥可以得到:\\ \{^n_m\} = \frac{1}{m!}\sum_{i=0}^{m}(-1)^{m-i}(^m_i)i^{n}\\ 立即推出卷積形式:\\ \{^n_m\} = \sum_{i=0}^{m}\frac{(-1)^{m-i}}{(m-i)!}\frac{i^{n}}{i!}\\ \]

\(O(m \ log \ m )\)

bzoj2159 crash的文明世界

**斯特林反演 **

\[f(n) = \sum_{i=1}^{n} \{^n_i\} g(i) \Longleftrightarrow g(n) = \sum_{i=1}^{n} (-1)^{n-i} [^n_i]f(i)\\ f(n) = \sum_{i=1}^{n} [^n_i] g(i) \Longleftrightarrow g(n) = \sum_{i=1}^{n} (-1)^{n-i} \{^n_i\}f(i)\\ 證明可以應用反轉公式:\\ \displaystyle \sum_{k=m}^n (-1)^{n-k}\begin{bmatrix}n\\k\end{bmatrix} \begin{Bmatrix}k\\m\end{Bmatrix}=[m=n]\\ \sum_{k=m}^n (-1)^{n-k}\begin{Bmatrix}n\\k\end{Bmatrix} \begin{bmatrix}k\\m\end{bmatrix}=[m=n]\\ 反轉公式的證明可以應用斯特林數和冪的關系:\\ x^n = \sum_{i=0}^{n}\{^n_i\}x^{\underline i}\\ x^{\overline n} = \sum_{i=0}^{n}[^n_i]x^i\\ 這個關系歸納可證,再帶入冪的轉化關系可證反轉\\ \]

我只做過裸題

**容斥系數 **

\[本質是我們只需要滿足\\ \sum_{i}^{n}f(i)g(i) = \delta_n \\ g,\delta是確定的,所以我們可以直接O(n^2)解出f\\ 或者可以直接反演求出f,某些情況或者可以用生成函數推出f\\ 或者:直接打表鴨!\\ \]

玲瓏杯線上賽河南專場 Round#17 B

min-max容斥

\[\max(S)=\sum_{T\subseteq S} (-1)^{|T|-1}\min(T)\\ E(\max S)=\sum_{T\subseteq S} (-1)^{|T|-1}E(\min T)\\ \text{lcm}(S)=\prod_{T\subseteq S} (-1)^{|T|-1}\gcd(T)\\ min和max當然是對稱的\\ \]

loj2542 隨機游走

luogu4704 重返現世

kth min-max容斥

\[推容斥系數的技巧可以用了:\\ [i=k] = \sum_{j=1}^{i}(^{i-1}_{j-1})f(j) \\ 二項式反演得:\\ f(i) = \sum_{j=1}^{i}(-1)^{i-j}(^{i-1}_{j-1})[j==k] \\ 即f(i) = (-1)^{i-k}(^{i-1}_{k-1}) \\ kthmax(S) = \sum_{T \subset S} (-1)^{|T|-k}(^{|T|-1}_{k-1})min(T) \]

子集反演

\[f(S) = \sum_{T \subset S}g(T) \Leftrightarrow g(S) = \sum_{T \subset S}(-1)^{|S|-|T|}f(T)\\ f(S) = \sum_{S \subset T}g(T) \Leftrightarrow g(S) = \sum_{S \subset T}(-1)^{|T|-|S|}f(T)\\ \]

loj 2983 數樹

**單位根反演 **

\[\frac{1}{n}\sum_{j=0}^{n-1}\omega_n^{j(i-t)} = [i \% n=t]\\ \]

loj6485 LJJ學二項式定理

loj3058 白兔之舞

**莫比烏斯反演 **
Po姐的ppt

莫比烏斯函數:

1.定義

\[\mu(n) = \begin{cases} 1 &n=1\\ (-1)^r & n=p_1\cdots p_r,p_1\cdots p_r 是兩兩不同的質數\\ 0 &其它,即n有大於1的平方因子\\ \end{cases}\\ \]

2.性質:

\[\begin{align} &1)積性\\ &2)\sum_{d|n} \mu(d) = [n=1] \\ &3)\sum_{d|n}\frac{\mu(d)}{d}=\frac{\phi(n)}{n}\\ &(考慮\sum_{i=1}^{n}[gcd(i,n)=d] = \phi(\frac n d) 即可證3)\\ \end{align} \]

反演的兩種形式:

\[f(n) = \sum_{d|n} g(d) \Leftrightarrow g(n) = \sum_{d|n}\mu(\frac{n}{d})f(d)\\ f(n) = \sum_{n|d} g(d) \Leftrightarrow g(n) = \sum_{n|d}\mu(\frac{d}{n})f(d)\\ \]

bzoj2820 YY的GCD

bzoj3434 時空穿梭

loj 2085 循環之美

OIwiki !

(大家可能只有自行學習杜教篩,洲閣篩,和min25篩了)

杜教篩的復雜度,我當時學的時候一直沒有搞清楚有一點,后來看rqy的博客看到了:

\[O(\sum_{i=1}^{\sqrt n} \sqrt \frac{n}{i}) \approx O(2\sqrt{n}\int_0^{\sqrt n}i^{\frac{1}{2}}) = O(n^{\frac{3}{4}})\\ \]

(由於沒時間講計算幾何了,大家記得學一下閔可夫斯基和)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM