若干式子的证明

一些定理:
**1.**设 f , g f,g f,g为两个数论函数, t t t为完全积性函数,若: f ( n ) = ∑ i = 1 n t ( i ) g ( ⌊ n i ⌋ ) f(n)=\sum_{i=1}^nt(i)g(\lfloor \frac{n}{i}\rfloor) f(n)=i=1nt(i)g(in)
则: g ( n ) = ∑ i = 1 n μ ( i ) t ( i ) f ( ⌊ n i ⌋ ) g(n)=\sum_{i=1}^n\mu(i)t(i)f(\lfloor\frac{n}{i}\rfloor) g(n)=i=1nμ(i)t(i)f(in)
证: ∑ i = 1 n μ ( i ) t ( i ) f ( ⌊ n i ⌋ ) = ∑ i = 1 n μ ( i ) t ( i ) ∑ k = 1 ⌊ n i ⌋ t ( k ) g ( ⌊ n i k ⌋ ) \sum_{i=1}^n\mu(i)t(i)f(\lfloor\frac{n}{i}\rfloor) \\=\sum_{i=1}^n\mu(i)t(i)\sum_{k=1}^{\lfloor\frac{n}{i}\rfloor}t(k)g(\lfloor \frac{n}{ik}\rfloor) i=1nμ(i)t(i)f(in)=i=1nμ(i)t(i)k=1int(k)g(ikn)
枚举 g g g,设 j = i k j=ik j=ik: = ∑ j = 1 n g ( ⌊ n j ⌋ ) ∑ i ∣ j μ ( i ) t ( i ) t ( j i ) = ∑ j = 1 n g ( ⌊ n j ⌋ ) t ( j ) ∑ i ∣ j μ ( i ) =\sum_{j=1}^ng(\lfloor\frac{n}{j}\rfloor)\sum_{i|j}\mu(i)t(i)t(\frac{j}{i}) \\=\sum_{j=1}^ng(\lfloor\frac{n}{j}\rfloor)t(j)\sum_{i|j}\mu(i) =j=1ng(jn)ijμ(i)t(i)t(ij)=j=1ng(jn)t(j)ijμ(i)
我们是知道 μ ∗ 1 = e \mu*1=e μ1=e的,所以当j为1时不为0,所以显然。证毕

计算一些式子:
求: S ( n ) = ∑ i = 1 n σ 0 ( i 2 ) S(n)=\sum_{i=1}^n\sigma_0(i^2) S(n)=i=1nσ0(i2)
构造狄利克雷卷积,设 f ( n ) = σ 0 ( n 2 ) , g ( n ) = 2 ω ( n ) f(n)=\sigma_0(n^2),g(n)=2^{\omega(n)} f(n)=σ0(n2),g(n)=2ω(n),( ω ( n ) \omega(n) ω(n)表示n的不同质因子的个数。)
则有: f = g ∗ 1 f=g*1 f=g1
显然有 g = μ 2 ∗ 1 g=\mu^2*1 g=μ21
那么: a n s = ∑ i = 1 n f ( i ) = ∑ i = 1 n ∑ j ∣ i g ( j ) = ∑ j = 1 n g ( j ) ⌊ n j ⌋ ans=\sum_{i=1}^nf(i)=\sum_{i=1}^n\sum_{j|i}g(j)=\sum_{j=1}^ng(j)\lfloor\frac{n}{j}\rfloor ans=i=1nf(i)=i=1njig(j)=j=1ng(j)jn
又: ∑ i = 1 n g ( i ) = ∑ i = 1 n ∑ j ∣ i μ 2 ( j ) = ∑ i = 1 n μ 2 ( j ) ⌊ n j ⌋ \sum_{i=1}^ng(i)=\sum_{i=1}^n\sum_{j|i}\mu^2(j)=\sum_{i=1}^n\mu^2(j)\lfloor\frac{n}{j}\rfloor i=1ng(i)=i=1njiμ2(j)=i=1nμ2(j)jn
又: ∑ i = 1 n μ 2 ( i ) = ∑ i = 1 ⌊ n ⌋ μ ( i ) ⌊ n i 2 ⌋ \sum_{i=1}^n\mu^2(i)=\sum_{i=1}^{\lfloor \sqrt n\rfloor}\mu(i)\lfloor\frac{n}{i^2}\rfloor i=1nμ2(i)=i=1n μ(i)i2n
现在这样就可以搞了。(这个等式的证明暂时不会。。。)
19.1.3 update: 我也不知道当时怎么想的,现在看实际上就是比较简单的容斥而已就可以理解了。因为当时一直想从式子本身去找track点,但是发现很难。但是提炼一下式子的含义就是求1到n里非平方因子的个数,那么我们用容斥把只有含有因子的个数减掉就好,因为比如会出现重复减掉的情况所以,肯定要有加回来的操作,所以很显然就是容斥了,既然是平方因子,所以只需要枚举到 n \sqrt n n 了。左边的 μ ( i ) \mu(i) μ(i)和右边的 μ ( i ) \mu(i) μ(i)的意义不一样。

计算最小质因子:
这个通过线性筛即可方便得到。
设一个prime数组为考虑了前i项之后所筛得的素数,默认从小到大,设 p r i pr_i pri为i的最小质因子。
算法进行如下:
1.枚举到第i为,若 p r i pr_i pri没有被计算那么,赋值 p r i = i pr_i=i pri=i
2.枚举所以小于等于 p r i pr_i pri的素数,设枚举变量为 p p p(实际上就在我们所以在的prime数组里),赋值 p r i ∗ p = p pr_{i*p}=p prip=p
易证时间复杂度为 O ( n ) O(n) O(n).
代码:

int pr[maxx];
int prime[maxx],cnt;
void init()
{
    for(int i=2;i<maxx;i++)
    {
        if(!pr[i])
        {
            pr[i]=i;
            prime[cnt++]=i;
        }
        for(int j=0;j<cnt&&(long long)i*prime[j]<maxx;j++)
        {
            pr[i*prime[j]]=prime[j];
            if(i%prime[j]==0)break;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值