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