
数论
math
TURNINING
太蒻了
展开
-
Codeforces Round #729 (Div. 2) C. Strange Function
传送门题意:函数f(n) = 第一个不为n的因子的数,求f(i)的和。思路:n这么大肯定考虑算贡献。关键是求f(i) = x, i 的个数显然,如果f(i) = x,那么肯定有因子1,2,3…,(i-1),那么lcm(1到i-1)就为含有这些因子的最小值,n / lcm(1到i-1)就为1到n中含有这些因子的数的个数,f(i) = x要求x不为i的因子,含有1,2,…i这些因子的最小的数为lcm(1到i),含有n / lcm(1到i)个。相减即为要求的个数。#include<bits/st原创 2021-07-06 21:00:19 · 361 阅读 · 0 评论 -
Japanese Student Championship 2021 C - Max GCD 2 (数论 + 思维)
传送门这题我打表找规律死活没有搞出来,最后还是看了题解,我总感觉AtCoder的题解写的比CF的好…时间限制是两秒n取到2e5,O(n^2)就不用想了因为它问的是gcd(x,y)max,所以我们可以考虑枚举gcd(x,y)max = c,再判断在区间[A,B]是否存在两个不相同的数使他们的gcd == c,其实我也想到了这个。。。。但我不知道咋判断是否存在这两个数。判断说起来也很简单就是看在这个区间上是否存在2个以上c的倍数,很明显 c * k 和 c * (k + 1) 因为k 和 k + 1互原创 2021-04-18 22:14:08 · 390 阅读 · 0 评论 -
D. The Number of Pairs
传送门(我发现这样的题目都是分解因子)我们设a = Ag, b = Bg, lcm = (Ag * Bg) / g = AB * g, 此时方程可化为g(c * AB - d) = x。由此我们可以知道,g一定为x的一个因子, 那么(cAB - d)就是另外一个因子。当我们求得一个因子i,令g = i, 则 AB * c = x/i + d, 当x/i + d能被c整除时,我们可以得到AB的值。因为gcd(A,B) == 1,所以当我们找出AB的素因子后,该因子一定只能是A,B其中一个的因子,所有我原创 2021-03-20 16:05:57 · 200 阅读 · 0 评论