定理
威尔逊定理变式:x∈{(p,n)=1}∏x≡±1(modn)
Thoughts | Solution |
问题转化 | 求证小n且与n互质的数的乘积模 n 一定为 1 或 −1 |
因为是乘积,又与1有关,所以想逆元 | 在 x2≡1(modn) 时 x=inv(x),∴x 与 inv(x) 在数组中成对出现且乘积贡献为1
|
特殊情况处理 | 在 x2≡1(modn) 时 x=inv(x) 但同时 (n−x)2=n2−nx+x2≡x2≡1(modn) ∴n−x=inv(n−x) 在此时 x 与 n−x 也独立成对出现,乘积贡献为x(n−x)=nx−x2≡−1(modn)-1 |
得出结论 | 在小于 n 且与 n 互质的数中,会产生若干对数 它们的乘积要么是 1 要么是 −1 所以累乘是 1 或 −1 |
和差化积:sin(α±β)andcos(α±β)
Thoughts | Solution |
首先先证明sin(α+β) | S△ABCabsin(α+β)sin(α+β)sin(α+β)=S△ABD+S△BDC=acsinα+bcsinβ=bcsinα+acsinβ=cosβsinα+cosαsinβ |
sin(α−β) | ===sin(α−β)sin(α+(−β))cos(−β)sinα+cosαsin(−β)cosβsinα−cosαsinβ |
cos(α+β) | =====cos(α+β)sin(90∘−α−β)sin((90∘−α)+(−β))cos(90∘−α)sin(−β)+cos(−β)sin(90∘−α)−sinαsinβ+cosβcosαcosβcosα−sinβsinα |
cos(α−β) | ===cos(α−β)cos(α+(−β))cos(−β)cosα−sin(−β)sinαcosβsinα+sinβsinα |
递推式
Sn=⌈(a+b)n⌉%m
Thoughts | Solution |
根据二项式定理,可以设计以下两个式子 | (a+b)n=An+Bnb (a−b)n=An−Bnb |
通过转换来的式子合并一下 | (a+b)n+(a−b)n=2An (a+b)n=2An−(a−b)n |
利用限制条件有 | ∵a−1<b<a ∴0<a−b<0 ∴(a+b)n=2An−(a−b)n{<2An>2An−1⇒⌈(a+b)n⌉=2An |
得到新式 | ⌈(a+b)n⌉=2An=(a+b)n+(a−b)n |
代数转换 | 令 x=a+b,y=a−b 则 (a+b)n+(a−b)n=xn+yn=(x+y)(xn−1+yn−1)−xy(xn−2+yn−2) |
构造递推函数 | 令 g(n)=xn+ynx+y=2axy=a2−b ∴ g(n)=2a×g(n−1)−(a2−b2)×g(n−2),g(1)=2a,g(0)=2 |
时间化简
f(k)=i1=L∑Hi2=L∑H...in=L∑H[gcd(i1,i2,...,in)=k]
Thoughts | Solution |
构建基础方程式 | 由变换式 F(k)=k∣d∑f(d)⇒f(k)=k∣d∑μ(kd)F(d) 构建 F(k)=i1′=L∑Hi2′=L∑H...in′=L∑H[k∣gcd(i1,i2,...,in)] |
化简 F(x) | 不去枚举不必要枚举的数,令i′=ki,即枚举倍数 ∴F(k)=i1′=kL−1∑kHi2′=kL−1∑kH...in′=kL−1∑kH1=(⌊kH⌋−⌊kL−1⌋)n L−1是前缀和思想,向前取一位 |
根据反演式进行变换 | 由 f(k)=k∣d∑μ(kd)F(d) 我们在枚举d时同样要枚举倍数 ∴ 令 d′=kd,同时令 L′=kL−1,H′=kH 则此时 f(k)=d′=1∑H′μ(d′)F(d′k) |
化简 f(x) | F(d′k)=(⌊d′kH⌋−⌊d′kL−1⌋)n f(k)=d′=1∑H′μ(d′)(⌊dH′⌋−⌊d′L′⌋)n |