随笔分类 -  数论

摘要:https://www.cnblogs.com/Gloid/p/9538413.html 基本思路没有太大差别。得到2n=d(a2+3b2),其中d=gcd(n-x,n+x),n-x==a2&&n+x==3b2||n-x==3a2&&n+x==b2。于是枚举d,然后枚举b。复杂度玄学。 阅读全文
posted @ 2018-11-01 00:53 Gloid 阅读(429) 评论(0) 推荐(0)
摘要:对每个质因子分开计算再乘起来。使用类似生成函数的做法就很容易统计了。 阅读全文
posted @ 2018-09-25 18:50 Gloid 阅读(151) 评论(0) 推荐(0)
摘要:考虑对于每一个x有多少个合法解。得到ax+by=c形式的方程。如果gcd(x,y)|c,则a在0~y-1范围内的解的个数为gcd(x,y)。也就是说现在所要求的是Σ[gcd(x,P)|Q]*gcd(x,P)。 对这个式子套路地枚举gcd,可以得到Σdφ(P/d) (d|gcd(P,Q))。质因子间相 阅读全文
posted @ 2018-09-21 22:21 Gloid 阅读(275) 评论(0) 推荐(0)
摘要:必修五题。 阅读全文
posted @ 2018-09-17 16:13 Gloid 阅读(126) 评论(0) 推荐(0)
摘要:由于n!是m!的倍数,而对于每个与m!互质且小于m!的数x,x+m!、x+2*m!……也与其互质,所以答案即为(n!/m!)*φ(m!)。 φ(m!)=m!*∏(1-1/pi)。其中的pi即为1~m中所有质数。那么这个前缀积就可以预处理了。 当n、m大于p的时候是可能有问题的,数据里没有就懒得讨论了 阅读全文
posted @ 2018-09-16 16:14 Gloid 阅读(128) 评论(0) 推荐(0)
摘要:不妨把求φ抽象成把将每个位置上的一个小球左移一格并分裂的过程,那么即求所有球都被移到1号格子的步数。 显然要达到1必须先到达2。可以发现每次分裂一定会分裂出2号位的球,因为2以外的质数一定是奇数。以及,每次移动至多将一个2号位的球移至1号位。 于是我们只要数出每个位置能将几个球分裂至2号位就可以了。 阅读全文
posted @ 2018-09-08 15:10 Gloid 阅读(151) 评论(0) 推荐(0)
摘要:有(x+y)n!=xy。套路地提出x和y的gcd,设为d,令ad=x,bd=y。则有(a+b)n!=abd。此时d已是和a、b无关的量。由a与b互质,得a+b与ab互质,于是将a+b除过来得n!=abd/(a+b)。d/(a+b)可取的值不受a、b限制,那么只要满足ab|n!(a⊥b)就可以了。 将 阅读全文
posted @ 2018-09-06 12:57 Gloid 阅读(181) 评论(0) 推荐(0)
摘要:如果能够知道不大于n的合法数有多少个,显然就可以二分答案了。 考虑怎么求这个。容易想到容斥,即枚举完全平方数。我们知道莫比乌斯函数就是此种容斥系数。筛出来就可以了。 注意二分时会爆int。 阅读全文
posted @ 2018-09-02 01:29 Gloid 阅读(196) 评论(0) 推荐(0)
摘要:设最后的组成为x=x0a+x1b,y=y0a+y1b。那么容易发现x0和y0奇偶性相同、x1和y1奇偶性相同。于是考虑奇偶两种情况,问题就变为是否存在x和y使ax+by=c,那么其充要条件是gcd(a,b)|c。 阅读全文
posted @ 2018-08-30 08:40 Gloid 阅读(242) 评论(0) 推荐(0)
摘要:求x2+y2=r2的整数解个数,显然要化化式子。考虑求正整数解。 y2=r2-x2→y2=(r-x)(r+x)→(r-x)(r+x)为完全平方数→(r-x)(r+x)/d2为完全平方数,d=gcd(r-x,r+x)→(r-x)/d·(r+x)/d为完全平方数,gcd((r-x)/d,(r+x)/d) 阅读全文
posted @ 2018-08-26 21:34 Gloid 阅读(234) 评论(0) 推荐(0)