大米饼正式退役了,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}})\\ \]
(由于没时间讲计算几何了,大家记得学一下闵可夫斯基和)

转载于:https://www.cnblogs.com/Paul-Guderian/p/11275126.html

GOOD BYE OI相关推荐

  1. NOIP2018游记AFO后记

    DAY0 早上难得和同学们跑了个早操,一个多月没动的老骨头快散架了 给高一学长讲图论,与老头争执一番,原因是我给学长讲图的遍历时,讲了一下vector可以排序,举了个栗子,我问学长说:我要求你优先遍历 ...

  2. OI基础系列之最大子数组问题

    OI基础系列之最大子数组问题   --Edward2414    oi退役了,虽然没取得多少成绩,也算是走过一会的人了.我相信绝大多数oi党都是自学成才,在此,我感谢那些把自己所学写到博客里的前辈们, ...

  3. 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...

  4. 《算法竞赛中的初等数论》(五)正文 0x50筛法(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  5. 《算法竞赛中的初等数论》(四)正文 0x40反演(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  6. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  7. 解题报告(十三)中国剩余定理(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  8. 《算法竞赛中的初等数论》(二)正文 0x20同余(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  9. 解题报告(五)组合计数(ACM / OI)超高质量题解

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

最新文章

  1. 将Sublime Text3添加到右键菜单中
  2. mysql值域_MySQL学习笔记(三)
  3. 【渝粤题库】陕西师范大学200511 美国文学
  4. Android ListView and Tips.
  5. 数据库笔记06:创建并管理数据表
  6. iOS夯实:内存管理
  7. NFS介绍,NFS服务端安装配置,NFS配置选项
  8. java调用caffe_Caffe中master与windows分支差异对比及通过命令提示符编译Caffe源码操作步骤...
  9. C#、VB.NET与三菱Q02、QJ71E71、L02、LJ71E71、FX3U、FX5U等通讯的DLL及调用源代码
  10. Chrome浏览器离线安装Axure插件
  11. 常见的网站运维面板汇总集合(国内外流行)
  12. 漫步数学分析二十二——魏尔斯特拉斯测试
  13. [转载]美国签证敏感专业列表Technology Alert List_拔剑-浆糊的传说_新浪博客
  14. 简单的技能Buff系统
  15. 下一代云原生应用交付会怎样发展?KubeVela帮大忙。
  16. 关于 右键新建选项 假死 死机 卡机 崩溃 闪退 的问题 (含 无法拖拽文件 或者ps无法拖拽等)
  17. Mysql索引有哪几种类型
  18. 上传GPS数据到ONENET云平台
  19. 不仅是工程学!人类认知偏差导致的12个AI研究盲区
  20. 微软必应(Bing)打不开解决方案(2021.12.16)

热门文章

  1. android 修改DatePickerDialog只显示“年月”,去掉“日”显示
  2. flex布局实现整体居中最后一行靠左
  3. 360 vs QQ, 谁会赢?
  4. Linux操作系统入门
  5. 【课程笔记】程序设计模式复习笔记
  6. Java程序员必经的实践之路:docker离线导入镜像
  7. Klocwork对Jbuild工程测试实战
  8. AITech国际智能科技峰会圆满落幕,AI大咖共论人工智能发展...
  9. vue-router模式为history的项目打包发布后不能通过地址栏里的地址进行路由跳转
  10. Eureka服务治理 - 自我保护机制