数论的学习
happy_windman
做自己想做的
展开
-
Lightoj 1370 Bi-shoe and Phi-shoe(欧拉函数)
刚开始学习数论,加油。历经几个小时,终于过了这道题,感动。大致思路是先欧拉函数打表,然后二分查找。这里先介绍lower_bound()函数:函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置,且last的位置是越界的。头文件必须包含。使用举例:数组a[]={1,3,4,8原创 2017-07-29 13:43:09 · 343 阅读 · 0 评论 -
2019 ACM/ICPC 全国邀请赛(西安)B Product (杜教筛+莫比乌斯反演)
题目链接求其中本题似乎其实没那么难,但是不知道为什么场上的时候我推成了一个很复杂的式子。。。首先题目中公式的连乘显然可以转化为指数的连加,所求即为因为还需要对p取模,而我们首先要计算的是指数,因此显然需要欧拉降幂。因为p是素数,不可能是m的倍数,所以直接用第一个式子即可。而p的欧拉函数值为p-1,因此指数对p-1取模。现在开始对指数进行反演,考虑到先枚...原创 2019-08-10 16:07:09 · 521 阅读 · 2 评论 -
HDU 4746 Mophues 莫比乌斯反演
题意:把唯一分解后素因子个数不超过p的数叫做p的lucky number,如24=2*2*2*3,24的素因子个数为4。给定n,m,p,求。题解:不妨令n<=m。初始的TLE做法:因为此前写过一道题,是求gcd(i,j)为素数的数对的个数。HYSBZ 2818 Gcd起初觉得这两题差不多,就按类似的思路做:线性筛预处理莫比乌斯函数前缀和,将所...原创 2019-05-06 15:01:17 · 175 阅读 · 0 评论 -
HYSBZ 2818 Gcd 线性筛+莫比乌斯反演+双重数论分块
题意:其中N的范围1e7题解:如果是对于确定的素数p,求那么显然是莫比乌斯反演入门题,预处理莫比乌斯函数后,可以通过数论分块优化到求解答案。而本题中所求为即为我们已经知道内层可以通过数论分块来优化了。但是这个复杂度估计仍然是过不了的,我们需要进一步优化。既然我们会用数论分块,那么应该会比较敏感的发现,对于内层求和符号上的,同样可以通过数论分块来进...原创 2019-05-05 22:33:40 · 313 阅读 · 0 评论 -
HDU 1695 GCD 莫比乌斯反演
题意:求【1,b】和【1,d】两个区间内gcd为k的数对的数量,其中(x,y)和(y,x)看作同一数对。题解:莫比乌斯反演入门题。基本套路,设f(k)和g(k),g(k)很容易求,再通过莫比乌斯反演求f(k)。我的另一篇博客中莫比乌斯反演的过程与这道题类似,且已经写得很详细了。最后可得式子(方便起见,不妨令b<=d,不满足则交换两者值,显然不影响结果)线性筛预...原创 2019-05-05 21:10:46 · 214 阅读 · 0 评论 -
莫比乌斯反演 SPOJ - VLATTICE Visible Lattice Points
题意:从立方体点阵,从(0,0,0)到(N,N,N),给定N求从(0,0,0)能看到的点的个数,其中能看到是指两点的连线的线段上没有其他的点。题解:题意可转换为从点(0,0,0)出发,以其余任一点结束,方向不同的向量数。对于任一点(x,y,z),若gcd(x,y,z)=d,其中d>1,则必存在点挡住了该点。因此,其实最后要求的就是gcd(x,y,z)=1的(x,y,z)的...原创 2019-05-03 23:52:50 · 174 阅读 · 0 评论 -
FFT详解
以前想学FFT的时候随便百度,然而发现很多博客讲的我都理解不了,一度觉得自己太蠢https://www.cnblogs.com/zwfymqz/p/8244902.html看了一部分这个之后,觉得虽然之前确实是自己太蠢,但是这篇对初学者非常友好。...转载 2018-11-30 09:27:58 · 418 阅读 · 0 评论 -
hdu 3589 Jacobi symbol (二次剩余勒让德符号)
题目链接题意:交代一下勒让德符号与二次剩余,然后告诉你J(a,n)与L的关系,给定a,n,求J(a,n)。二次剩余的原理我并没有搞太懂= =,想着毕竟不常见,会用板子就好了。在知道如何求勒让德符号的情况下,只需要将n分解质因数,假设n=p1^k1 * p2^k2 * ... *pm^km,则答案为J(a,p1)^k1 * J(a,p2)^k2 * ... * J(a,pm)^km = L(...原创 2018-09-13 21:10:19 · 1451 阅读 · 0 评论 -
hdu5608 function (莫比乌斯反演+杜教筛)
题目链接题意:根据式子求想出这题的做法后看了几个博客想验证一下,然而看了四五篇博客发现博主的做法都和我不一样...用自己的想法AC后,发现时间比大部分代码快,直接到rank2,然后略微优化了一下线性筛预处理部分(理论上预处理到n的2/3次方也就是1e6最优,不过这题似乎2e6最优。)这是我AC后找的某一个博主写的题解,里面的第一种做法和我的比较接近,第二种则是绝大部分人的做法...原创 2018-09-13 14:10:35 · 568 阅读 · 3 评论 -
2018ACM/ICPC沈阳网络赛G Spare Tire
题目链接题意:定义数列an为,给定n、m,求a1到an中所有下标与m互质的数的和。首先,通过打表或者递推可以得到an的通项为n*(n+1)。然后,如果是求1到n中与m互质的数的个数,我们可以较容易的通过容斥原理得到与m不互质的数的个数,然后减去即可。那么,如何求出题目要求的呢?解题前须知:,i*(i+1)=i^2+i,所以有 先给一道题的链接:hdu 44...原创 2018-09-11 22:39:58 · 425 阅读 · 0 评论 -
2018ACM/ICPC徐州站网络赛D Easy Math(杜教筛)
题目链接题意是给出莫比乌斯函数和n、m,求。今天看了很久tls的博客,才算对积性函数和杜教筛稍微有了一点了解。链接:点击此处查看原文。首先,这道题的n和m的范围都很大,所以线性的做法肯定是解决不了问题的。其次,杜教筛有一道求莫比乌斯函数前缀和的模板题(可惜此前我并没有学过杜教筛...据说预处理个值的前缀和的情况下,可以在O()的时间复杂度下求出到n的前缀和...),因此很容易就会往...原创 2018-09-11 20:37:33 · 401 阅读 · 0 评论 -
关于线性素数筛
去年听数一聚聚讲的线性筛,但是之前只记了板子,也没有对其进行过深入思考。模板:bool notprime[N];int cnt,prime[N];void init(){ notprime[1]=1; for(int i=2;i<N;i++){ if(!notprime[i]){ prime[cnt++]=i; } for(int j=0;j<cnt...原创 2018-09-03 01:42:54 · 702 阅读 · 0 评论 -
2018ACM/ICPC南京站网络赛J Sum
题目链接大意是定义f(x)为满足x==a*b且a和b均不能被除1以外的平方数整除的数对(a,b)的个数,给定n,输出x从1到n的f(x)的和。比赛中这道题从看题,到写完,再到写个暴力对拍小数据也只花了二十五分钟而已,然后一发入魂。。。(虽然这题后就陷入了漫长的卡题)我的解题思路的产生:首先看到数据范围2e7,虽然查询很少,但一般这个范围会让我联想到线性筛;其次,大致看下样例就能知道素数...原创 2018-09-02 00:08:38 · 938 阅读 · 5 评论 -
kuangbin带你飞数论基础专题
A - Bi-shoe and Phi-shoe这道题我很久以前写过一篇博客,这里就不再讨论,做法就是欧拉函数打表然后二分查找(据说暴力查找也行?)即可。这是该博客链接B - Prime Independence这题表示目前还不会,看题解似乎与二分图有关。。。知识盲区,估计挺久以后才有时间补。。。时隔近一年,这道题可以补了。首先,如果你知道唯一分解定理...原创 2018-06-16 01:08:05 · 592 阅读 · 0 评论 -
2019牛客国庆集训派对day5 K 2017 Revenge 【原根】+【bitset优化dp】
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536KSpecial Judge, 64bit IO Format: %lld题目描述Bobo has n integers a1,a2,…,ana_1, a_2, \dots, a_na1,a2,…,an.He would like to choose some of the integ...原创 2019-10-08 14:55:06 · 343 阅读 · 0 评论