与程序竞赛有关的数学知识点

内容较多,建议使用目录

容斥原理

集合的并集

A1,A2...,An 是有限集合,则
|A1A2An|=ni=1|Ai|ni=1j>i|AiAj|ni=1j>ik>j|AiAjAk|+(1)n|A1A2An|

Sylvester公式

给定集合N和具有性质i的集合 A1,A2...,An ,则
|A1A2An|=|N|(ni=1|Ai|ni=1j>i|AiAj|+(1)n|A1A2An|)

[列题] 区间(S,E]中与n互质的元素个数

Ai 为n的第i个质因子 pi 的倍数的集合且 Ai(S,E],i=1,2,3k ,那么 |Ai|=[Epi][Spi],|AiAj|=[Epipj][Spipj] ,然后套用上面公式即可解决问题了。关键是将这个公式表达出来,有没有发现一共有 2n 项多项式,而且组合数量为奇数时负,组合数量为偶数时符号为正。

LL POIAE(int n,int S,int E){
    //质因子分解
    int p[32],u=0;
    for(int i=2;i*i<=n;i++)
        if(n%i==0){
            p[u++]=i;
            while(n%i==0) n/=i;
        }
    if(n>1) p[u++]=n;

    LL qua=0;
    for(int i=1;i<1<<u;i++){
        int cnt=0,com=1;
        for(int k=0;k<u;k++)
            if(i>>k&1) cnt++,com*=p[k];
        qua+=cnt&1?E/com-S/com:-E/com+S/com;
    }
    return E-S-qua;
}

欧拉函数φ(n)

欧拉函数φ(n) 是小于等于n且与n互素的正整数的个数,假设 n=pα11pα22pα33pαkk ,则有

φ(n)=n(11p1)(11p2)(11p3)(11pk)

证明:

Ai 为1到n之间 pi 的倍数的集合,i=1,2,3,…,k,则
φ(n)= |A1A2Ak|
= |N|(ki=1|Ai|ki=1j>i|AiAj|+(1)k|A1A2Ak|)
= n(ki=1npiki=1j>inpipj+ki=1j>ih>jnpipjph+(1)knp1p2p3pk)
= n(11p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值