2018.6清北学堂day2下午笔记(MR)(CRT)(数论分块)

Miller Rabin

直接去看Miller-Rabin笔记吧QwQ

中国剩余定理

中国剩余定理常用来求解同余方程组,形如

xai(modm)i x ≡ a i ( mod m ) i

的方程组

其中,我们定义

M=mi M = ∏ m i

然后令
Mi=Mmi M i = M m i

定义
tiMimod mi t i 为 M i 在 m o d   m i 意 义 下 的 逆 元

则最终的解就是

ans=iMitiai a n s = ∑ i M i t i a i

然后CRT拓展的话…

直接看CRT的学习笔记吧

数论分块

i=1nni ∑ i = 1 n n i 下 取 整

我们考虑对于 ni n i 下 取 整 的取值一共有 n n 而 每一个取值对应的区间又是连续的

所以,我们考虑对于每一种取值x,就可以枚举左边界,则右边界为 n/(n/l) n / ( n / l )
对应的下取整的值就是 n/l n / l

for (int i=1,j;j<=n;i=j+1)
{
    j=(n/(n/l));
    ans+=(j-i+1)*(n/l);
}

至于这个j的求法
这里写图片描述

这样解决就可以

一道例题:

bzoj1257

余数求和

给定一个n一个k,求

i=1nk mod i ∑ i = 1 n k   m o d   i

其中 n,k1000000000 n , k ≤ 1000000000


进入函数部分

欧拉函数 ϕ(i) ϕ ( i ) 表示1`i中有几个与 i i 互质的数

考虑如何计算ϕ(i)
ϕ(i) ϕ ( i ) 是积性函数,可以用线性筛求

void primee(int n)
{
    check[1]=1;
    for (int i=2;i<=n;i++)
    {
        if (!check[i]) prime[++tot]=i,phi[i]=i-1;
        for (int j=1;j<=tot;j++)
        {
            if (i*prime[j]>n) break;
            check[i*prime[j]]=1;
            if (i%prime[j]==0) 
            {
              phi[i*prime[j]]=phi[i]*prime[j];  
              break;
            }
            else
            {
                phi[i*prime[j]]=phi[i]*(prime[j]-1)
            }
        }
    }
}


一个有趣的结论:

d|nϕ(d) = n ∑ d | n ϕ ( d )   =   n



欧拉定理:
设n为正整数,a为与n互素的整数则

aϕ(n)1(modn) a ϕ ( n ) ≡ 1 ( mod n )

莫比乌斯函数

μ(d)=1,(1)k,0,n=1n=p1p2pk,piotherwise μ ( d ) = { 1 , n = 1 ( − 1 ) k , n = p 1 p 2 ⋯ p k , p i 为 互 异 素 数 0 , o t h e r w i s e

所以,当n有平方因子的时候, μ(n)=0 μ ( n ) = 0
因为莫比乌斯函数是积性函数,所以可以线性筛

void primee(int n)
{
    check[1]=1;
    for (int i=2;i<=n;i++)
    {
        if (!check[i]) prime[++tot]=i,phi[i]=i-1;
        for (int j=1;j<=tot;j++)
        {
            if (i*prime[j]>n) break;
            check[i*prime[j]]=1;
            if (i%prime[j]==0) 
            {
              phi[i*prime[j]]=phi[i]*prime[j];
              mu[k]=0;  
              break;
            }
            else
            {
                phi[i*prime[j]]=phi[i]*(prime[j]-1);
                mu[k]=-mu[i];
            }
        }
    }
}

QwQ中间讲了一些 直接去看这部分的学习笔记吧

好像wei la
还是直接看莫比乌斯反演的学习笔记吧

然后这里引入数论8题:
…..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值