GOOD BYE OI


大米餅正式退役了,OI給我帶來不少東西
我會的數學知識基本都在下面了
博客園的評論區問題若是我看到了應該是會盡力回答的...
這也是我做爲一個OIer最後一次講課的講稿
20190731
php

多項式乘法

FFT

基本概念html

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

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

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

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

泰勒展開:學習

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

$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 $spa

其中\(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\)個複數.net

一個可行的方式是$\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}})\\ \] (因爲沒時間講計算幾何了,你們記得學一下閔可夫斯基和)

相關文章
相關標籤/搜索