前置芝士
调和级数
分析复杂度的时候还是有用的
百度百科
数学符号
- (m perp n):m与n
垂直互质
整除分块
例题
二项式定理
((x+y)^n=sum_{i=0}^{n}C_{n}^{i}*x^{i}*y^{n-i})
关于(gcd)
说明:([)balabala(])等于(1)当且仅当balabala成立,否则为0
- (sum_{i=1}^{n}sum_{j=1}^{m}[gcd(i,j)==x] Leftrightarrow sum_{i=1}^{left lfloor frac{n}{x} ight floor} sum_{j=1}^{left lfloor frac{m}{x} ight floor}[gcd(i,j)==1])
- (sum_{i=1}^{n}sum_{j=1}^{m}i*j*[gcd(i,j)==x] Leftrightarrow sum_{i=1}^{left lfloor frac{n}{x} ight floor} sum_{j=1}^{left lfloor frac{m}{x} ight floor}i*j*[gcd(i,j)==1]*x^{2})
- (sum_{i=1}^{n}sum_{j=1}^{m}i*j*[x|gcd(i,j)] Leftrightarrow sum_{i=1}^{left lfloor frac{n}{x} ight floor} sum_{j=1}^{left lfloor frac{m}{x} ight floor}i*j*x^{2})
- (sum_{i=1}^{n}sum_{j=1}^{m}[x|gcd(i,j)] Leftrightarrow left lfloor frac{n}{x} ight floor left lfloor frac{m}{x} ight floor)
- (sum_{i=1}^{n}sum_{j=1}^{m}[gcd(i,j)==1] Leftrightarrow sum_{i=1}^{n}sum_{j=1}^{m}sum_{d|gcd(i,j)}mu(d))
---------------------------------------------(Leftrightarrow sum_{d=1}^{n}mu(d)*sum_{i=1}^{n}sum_{j=1}^{m}[d|gcd(i,j)]) - 记(d(x))为(x)的约数个数:(d(i*j)=sum_{x|i}sum_{y|j}[gcd(x,y)==1]),证明见例5
狄利克雷卷积&莫比乌斯反演
常见的积性函数
- (epsilon(n)=[n==1]),也有写作(iota)的:在卷积意义下相当u于1,对于任意一个(f,f*epsilon=f)
- (I(n)=1)也有写作(u)的,在卷积意义下和(mu)互为逆元,即(mu * I=epsilon)
- (id(n)=n)
一些摘出来的小套路
- 枚举gcd
- 当你想降一下时间复杂度时,枚举第二个分块中的某一项再进行处理可能是一个好选择。
栗子
- BZOJ2440完全平方数(懵逼钨丝函数入门
- POI2007 ZAP-Queries
(sum_{i=1}^{n} sum_{j=1}^{m}[gcd(i,j)==x]) - luoguP2257YY的GCD
(sum_{i=1}^{n}sum_{j=1}^{n}[gcd(i,j)in prime]) - P1829Carash的数字表格
(sum_{i=1}^{n}sum_{i=1}^{m}lcm(i,j)) - SDOI2015约数个数和
(sum_{i=1}^{n}sum_{j=1}^{m}d(i*j)) ,其中(d(i*j))表示(i*j)的约数个数 - SDOI2017数字表格
(prod_{i=1}^{n}prod_{j=1}^{m}f[gcd(i,j)]),其中(f[x])表示第(i)项斐波那契数
杜教筛
又是一些小套路
栗子
先乱放了
完了推柿子真是太有趣了,秃并快乐着