首页 > 其他分享 >数论练习题小结

数论练习题小结

时间:2023-08-12 23:13:15浏览次数:33  
标签:练习题 frac limits min 数论 sum mu 小结 式子

1.P1447

题意:求

\[\sum\limits_{i=1}^n\sum\limits_{j=1}^m2\times (i,j)-1 \]

思考:原式等价于\(2\sum\limits_{i=1}^n\sum\limits_{j=1}^m(i,j)-n*m\)

然后套上欧拉反演即可

时间复杂度\(O(\sqrt n)\)

2.P4318

题意:\(T\) 组数据,每组数据给出一个正整数 \(K\) ,求第 \(K\) 个不含大于 1的完全平方数因子的正整数。

思考:观察答案的单调性 考虑二分答案

问题转化于如何求一个数的非平方因子数

考虑容斥 我们要减去 \(2^2,3^2,5^2\)的数 减去\(6^2,10^2,15^2\)的数,忽略\(4^2,8^2,9^2\)因子的数

容易发现容斥系数为\(\mu(x)\)

然后判断一个数是否有平方因子的公式容易得到就是\(\mu^2(i)\)

容斥一下有多少个这种数即可 时间复杂度\(O(T \sqrt n\log n )\)

3.P2303

\[\sum\limits_{i=1}^n (i,n) \]

考虑欧拉反演

原式等价于\(\sum\limits_{i=1}^n \sum\limits_{d|n,d|i}\varphi(d)\)

前提\(d\)的枚举 \(\sum\limits_{d|n} \sum\limits_{i=1,d|i}^n\varphi(d)\)

发现第二轮枚举于\(d\)无关 直接化简为\(\sum\limits_{d|n} (n/d)\varphi(d)\)

暴力求即可 时间复杂度\(O(\text{因数个数}\times \sqrt n)\leq O(2n)\)

即\(O(n)\).

4.P3327

设 \(d(x)\) 为 \(x\) 的约数个数,给定 \(n,m\),求

\[\sum_{i=1}^n\sum_{j=1}^md(ij) \]

考虑映射法

设\(\sum\limits_{x=1}^{a} p_x^k=i\)和\(\sum\limits_{y=1}^{b} p_y^k=j\)

那么若 \(i\) 有\(p^x\) \(j\) 有 \(p^y\) 则 \(ij\) 有 \(p^{x+y}\)

那么考虑这样选数:

  • i能选的质因数 一定在\(i\)选 则\(p^z(z\leq x)\)
  • 否则不够了 在\(j\)选 并且除以\(p^x\) 则\(p^z(z>x)\)
    因此 最终取的两个因数必须互质

所以答案转化为:

\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m \sum\limits_{x|i} \sum\limits_{y|j}(x,y)=1\)

然后前提\((x,y)\)的枚举

\(\sum\limits_{x=1}^n \sum\limits_{y=1}^m\sum\limits_{x|i}^n \sum\limits_{y|j}^n (x,y)=1\)

发现后面两项与\(x,y\)无关 继续化简

\(\sum\limits_{x=1}^n \sum\limits_{y=1}^m (n/x)(m/y) (x,y)=1\)

用\((i,j)\)替换一下\((x,y)\) 看到\((i,j)=1\) 考虑莫比乌斯反演

\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m (n/i)(m/j) \sum\limits_{d|i,d|j}\varphi(d)\)

前提\(d\)的枚举

\(\sum\limits_{d=1}^{min(n,m)}\sum\limits_{i=1}^n \sum\limits_{j=1}^m[d|i,d|j] (n/i)(m/j)\varphi(d)\)

这个式子能继续化简

\(\sum\limits_{d=1}^{min(n,m)}\sum\limits_{i=1}^{\frac{n}{d}} \sum\limits_{j=1}^{\frac{m}{d}}(n/id)(m/jd)\varphi(d)\)

换一下顺序

\(\sum\limits_{d=1}^{min(n,m)}\varphi(d)\sum\limits_{i=1}^{\frac{n}{d}}(n/id)( \sum\limits_{j=1}^{\frac{m}{d}}m/jd)\)

定义\(f(x)\)表示 \(\sum\limits_{i=1}^x \frac{x}{i}\)

原式等于

\(\sum\limits_{d=1}^{min(n,m)}\varphi(d)f(n/d)f(m/d)\)

可以通过整除分块预处理好 \(f\) 数组 然后上面的式子也是整除分块即可

时间复杂度\(O(n\sqrt n+T\sqrt n)\)

5.P1829

题意:求

\[\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j) \]

思考:转换一下 得

\(\sum\limits_{i=1}^n\sum\limits_{j=1}^m\frac{i\times j}{(i,j)}\)

转化一下\((i,j)\) 得

\(\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sum\limits_{d|i,d|j}([\frac{i}{d},\frac{j}{d})=1]\frac{i\times j}{d}\)

将\(d\)的枚举提前 得

\(\sum\limits_{d=1}^n\sum\limits_{i=1}^n\sum\limits_{j=1}^m(d|i,d|j)([\frac{i}{d},\frac{j}{d})=1]\frac{i\times j}{d}\)

化简一下原式 得

\(\sum\limits_{d=1}^{min(n,m)}\sum\limits_{i=1}^{n/d}\sum\limits_{j=1}^{m/d}[(i,j)=1] (i*j*d)\)

换一下系数 并带入莫比乌斯反演 得

\(\sum\limits_{x=1}^{min(n,m)}\sum\limits_{i=1}^{n/x}\sum\limits_{j=1}^{m/x}\sum\limits_{d|i,d|j} \mu(d)*i*j*x\)

将\(d\)的枚举提前 得

\(\sum\limits_{d=1}^{min(n,m)}\sum\limits_{x=1}^{min(n,m)}\sum\limits_{i=1}^{n/x}\sum\limits_{j=1}^{m/x}[d|i,d|j] \mu(d)*i*j*x\)

继续化简 得

\(\sum\limits_{d=1}^{min(n,m)}\sum\limits_{x=1}^{min(n,m)}\sum\limits_{i=1}^{n/xd}\sum\limits_{j=1}^{m/xd}\mu(d)*i*j*x*d*d\)

容易发现 这已经是最简式子 将每个式子变换一下位置

\(\sum\limits_{d=1}^{min(n,m)}\mu(d)*d*d\sum\limits_{x=1}^{min(n,m)}x\sum\limits_{i=1}^{n/xd}i\sum\limits_{j=1}^{m/xd}j\)

定义\(f(x)\)表示\(\sum\limits_{i=1}^x i\) 化简原式

\(\sum\limits_{d=1}^{min(n,m)}\mu(d)*d*d\sum\limits_{x=1}^{min(n,m)}x*f(n/xd)f(m/xd)\)

此时 式子需要优化 定义\(T=xd\) 原式等于

\(\sum\limits_{d=1}^{min(n,m)}\mu(T/x)*T/x*T/x\sum\limits_{x=1}^{min(n,m)}T/d*f(n/T)f(m/T)\)

化简成枚举\(T\) 原式等于

\(\sum\limits_{T=1}^{min(n,m)}f(n/T)f(m/T)\sum\limits_{d|T} \mu(T/d)*(T/d)^2*d\)

注意到\(n\leq 10^7\) 直接整除分块这个式子会TLE两个点 考虑优化

发现后面的式子\(\sum\limits_{d|T} \mu(T/d)*(T/d)^2*d\)完全可以优化 可以\(O(n\log \log n)\)预处理 但还是会\(T\) 怎么办?

实际上 定义 \(g(x)\) 函数为 \(\sum\limits_{d|x} \mu(x/d)*(x/d)^2*d\)

问题转化为线性求解 \(g\) 函数

容易发现 若定义 \(q(x)\) 函数为 \(\mu(x)*x^2\)

其实\(g\) 就是\(q\)函数和\(id\)函数的卷积 即 \(g=q*id\)

因为\(id\)函数是积性函数 \(q\) 函数也是积性函数 因此 \(g\) 也是积性函数 因此可以线性筛求解

怎么求呢?

考虑拆分原函数

\(g(x)=\sum\limits_{d|x} \mu(x/d)*(x/d)*x/d*d\)

\(=\sum\limits_{d|x} \mu(x/d)*(x/d)*x\)

提一下 \(x\) 得

\(=x\sum\limits_{d|x} \mu(x/d)*(x/d)\)

化简一下 得

\(=x\sum\limits_{d|x} \mu(d)*d\)

现在考虑怎么筛 肯定先不考虑 \(x\) 最后再乘上去

  • 如果 \(g(x)\) 中,\(x\)为质数 容易得到为\(\mu(1)*x+1*\mu(x)=x-1\)
  • 如果 \(g(x*p_j)\) 中 \(x\) \(mod\) \(p_j \ne 0\) 直接根据积性函数性质求导即可
  • 如果 \(g(x*p_j)\) 中 \(x\) \(mod\) \(p_j = 0\) 因为有重复质因子时 \(mu(x)=0\) 所以只需计算所有单一质因子即可 乘上\(p_j\)就出现了重复因子 所以\(x\)已经包含了所有质因子 因此\(g(x*p_j)=g(x)\)

然后筛完乘上 \(x\) 即可

回到式子

\(\sum\limits_{T=1}^{min(n,m)}f(n/T)f(m/T)g(T)\)

整除分块一下即可 时间复杂度\(O(n+T\sqrt n)\)

6.P1891

\[\sum\limits_{i=1}^nlcm(i,n) \]

\(T \leq 3*10^5\) , \(n \leq 10^6\)

大力拆式子 懒得写过程 最终结果为

\(n\sum\limits_{d|n}\sum\limits_{i=1}^d[(i,d)=1]i\)

所以我们第二个式子要求与当前的数互质的数的和

这个就不能直接套反演了 它还有一个系数\(i\)

我们思考一下质因数的特点

我们知道一个定律:\((a,n)=1 \to (a,n-a)=1(n>a)\)

所以质因数是一对对的 且每一对的和为\(n\)

所以质因数的和就是\(\varphi(n)*n/2\)

总时间复杂度\(O(n+T\sqrt n)\)

标签:练习题,frac,limits,min,数论,sum,mu,小结,式子
From: https://www.cnblogs.com/g1ove/p/17625807.html

相关文章

  • 8.8模拟赛小结
    0.前言又是爆炸的一场T1只因数分解出题人树脂666是不是香菜逢仁鸡成分过于复杂题意:输入一个数\(n\)分解一个\(m\)定义只因数为\(x\)为\(n!\)的因数构造一种方案使得质因数小于等于\(n\)思考:要知道的是\(m\leqn!\)所以我们不妨考虑\(m\)拆成几个数倒过来思考......
  • 8.7模拟赛小结
    T1转圈圈题目大意:给你一个只含有一个\(1\)的\(01\)串\(S\)每次你可以翻转一段区间为\(k\)的子串且给出\(m\)个禁止位置必须保证\(1\)在任何时刻都不能出现在静止位置上对于每个位置\(i\)给出旋转到\(i\)位置时的最小次数无法旋转到这个位置时输出\(-1\)思考:原题要求我们......
  • 8.11模拟赛小结
    前言最无语的一集T1数对原题给定整数\(L,R\(L\\le\R)\),请计算满足以下条件的整数对\((x,y)\)的数量:\(L\\le\x,y\\le\R\)设\(g\)是\(x,y\)的最大公约数,则满足以下条件:\(g\\neq\1\)且\(\frac{x}{g}\\neq\1\)且\(\frac{y}{g}\\neq\1\)很简单的......
  • 交换机M-LAG知识小结
    M-LAG(MultichassisLinkAggregationGroup)即跨设备链路聚合组,是一种实现跨设备链路聚合的机制,将一台设备与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级,组成双活系统M-LAG的作用:1、增加带宽:将成员交换机的多条物理链路配置成一个聚合组,提高交换机的上行......
  • 【学习笔记】简单数论
    前言开个大坑。正文质数质数的个数是无限的。试除法:若一个正整数\(N\)为合数,则存在一个能整除\(N\)的数\(T\),其中\(2\leT\le\sqrt{N}\)。时间复杂度为\(O(\sqrt{n})\)。代码实现boolisprime(intn){if(n<2)returnfalse;for(in......
  • 第一章总练习题
    要记住:         以后经常要用到上述技巧,把最大(小)值进行转化。记住习题12、13的结论。两个奇函数之和为奇函数,其积为偶函数。两个偶函数之和与积都为偶函数。奇函数和偶函数之积为奇函数。掌握和差化积公式和积化和差公式。    ......
  • LCM Sum[数论+树状数组]
    Problem-E2-Codeforces给一个区间[L,R],询问有多少三元组(i,j,k)满足L=<i<j<k<=r且lcm(i,j,k)>=i+j+k.正难则反。我们可以考虑它的补集。lcm<i+j+k,然后是i+j+k<3*k所以lcm<3k,又因为k是lcm的因数,所以lcm=k或者2k。那么答案变成了求L,R里lcm=k和2k的三元组的数目如果lcm=......
  • 数论分块
    数论分块学习用途快速计算含有\(\lfloor{\frac{n}{i}}\rfloor\)的和式(\(i\)为变量)引理引理1\[\foralla,b,c\in\mathbb{N_+},\quad\Big\lfloor\frac{a}{bc}\Big\rfloor=\bigg\lfloor\frac{\lfloor\frac{a}{b}\rfloor}{c}\bigg\rfloor\]证明1\[\text{let}\qua......
  • 数论全家桶
    数论全家桶目录数论全家桶欧拉定理中国剩余定理CRTEXCRTLUCAS定理卡特兰数欧拉定理1.结论$$∀a,m∈Z且gcd(a,m)=1,a^{\varphi(m)}\equiv1\(mod\m)$$欧拉定理的一个常见用法是对指数降幂。应用当mod数质数时,有$$a^b\equiva^{bmod\phi(m)} (modm), gcd(a,m)=1;$$例......
  • [数论第二节]欧拉函数/快速幂/扩展欧几里得算法
    欧拉函数欧拉函数\(\varphi(N)\):1-N中与N互质的数的个数若\(N=p_1^{a_1}·p_2^{a_2}·p_3^{a_3}····p_n^{a_n}\)其中p为N的所有质因子则\(\varphi(N)=N(1-\frac{1}{p_1})(1-\frac{1}{p_2})···(1-\frac{1}{p_n})\)证明:互质:两数的公共因子只有1去掉......