数学相关(偏数学向题目的集中地)

1.积性函数和完全积性函数

积性函数:f(ab)=f(a)f(b) 当(a,b)=1 如μ,φ

完全积性函数:f(ab)=f(a)f(b) 如1,id,idk(i的k次幂),e

定义:1(x)=x,e(x)=[x==1],id(x)=x

公式:(1).(求gcd常用)1*μ=e

  (2).μ*id=φ

  (3).1*φ=1*μ*id=e*id=id

2.线性筛

Trick:积性函数f,g的积h(x)=f(x)g(x)也是积性函数,可以用线性筛处理。

3.莫比乌斯反演

利用1*μ=e,所以若有F=1*f,则f=e*f=μ*1*f=μ*F

Trick1:F(n)=∑n|d f(d),则f(n)=∑n|d μ(d/n)*F(d)

Trick2:求前缀和,数论分块

luoguP1829 [国家集训队]Crash的数字表格 / JZPTAB

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4 const int N=10000010,mod=20101009;
 5 int cc,vis[N],pr[N],sm[N];//sum of miu(i)*i*i
 6 ll n,m,ans;
 7 inline void init()
 8 {
 9     vis[1]=1;sm[1]=1;
10     for(int i=2;i<N;i++)
11     {
12         if(!vis[i])pr[++cc]=i,sm[i]=-1;
13         for(int j=1;j<=cc&&1ll*i*pr[j]<N;j++)
14         {
15             vis[i*pr[j]]=1;
16             if(i%pr[j]==0){sm[i*pr[j]]=0;break;}
17             sm[i*pr[j]]=-sm[i];
18         }
19     }
20     for(int i=1;i<N;i++)sm[i]=(sm[i-1]+1ll*i*i*sm[i])%mod;
21 }
22 inline ll S(ll x){x%=mod;return x*(x+1)%mod*(mod+1)/2%mod;}
23 inline ll F(int x,int y)
24 {
25     ll r=0;
26     for(int i=1,j;i<=x;i=j+1)
27     {
28         j=min(x/(x/i),y/(y/i));
29         r+=S(x/i)*S(y/i)%mod*(sm[j]-sm[i-1])%mod;
30     }
31     return r;
32 }
33 int main()
34 {
35     scanf("%lld%lld",&n,&m);init();
36     if(n>m)swap(n,m);
37     for(int i=1,j;i<=n;i=j+1)
38     {
39         j=min(n/(n/i),m/(m/i));
40         ans+=F(n/i,m/i)*(S(j)-S(i-1))%mod;
41     }
42     printf("%d\n",(ans%mod+mod)%mod);
43     return 0;
44 }
View Code

启发:类似的问题通过固定一个元的变化观察式子剩下部分变化的规律(如是否有大量连续相同值)。

基础习题:bzoj 2154 bzoj2005 bzoj1101 bzoj 2440

较难的题:bzoj 3529 bzoj 3309 bzoj 3561

模型不明显的题:bzoj 3481 #346. 【Jiangsu Training Contest 8】01 串

***注意复习 估计现在一个都不会了

***注意讨论不同的情况

4.狄利克雷卷积 f*g=∑d|n f(d)g(n/d)

bzoj 4407

5.二项式反演

(1).和容斥类似,f(n)=∑C(n,i)gi等价于g(n)=∑(-1)n-iC(n,i)f(i)

(2).少见的:f(k)=∑C(i,k)gi (k<=i<=n)等价于g(k)=∑(-1)i-kC(i,k)f(i) (k<=i<=n)

目前知道的用途:对于不明显的容斥,发现组合数关系可以确定答案一定可以反演回来

6.斯特林数

7.最值反演

8.拉格朗日反演(zblzblzbl不会啦)

9.牛顿迭代(After WC)

10.多项式相关(After WC)

11.生成函数(After WC)

Trick:五边形数计算划分数O(nsqrt(n))

12.原根

13.指标 BSGS 即求解 ax=b(mod c)

利用分块做到O(sqrt(n))或O(sqrt(n)log(n))

14.二次剩余 Cipolla 求解x2=a(mod b)

16.CRT

17.Lucas

18.Miller-Rabin

19.Pollard-Rho

20.线性代数

21.杜教筛

22.min25筛

23.群论

猜你喜欢

转载自www.cnblogs.com/xyleo/p/10229205.html