随笔分类 - 欧拉函数
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2749 [算法] 首先 , 每次对一个数x进行操作 , 只会使该数减少一个2的因子 那么 , 我们只需考虑每个数可以分解为多少个2 : 设gi表示i可以分解为多少个2 当gi为质数时 :
阅读全文
摘要:【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=1951 【算法】 欧拉定理+中国剩余定理 + lucas定理 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=3696 【算法】 设需要x个8 那么,这个数可以表示为 : 8(10^x - 1) / 9, 由题, L | 8(10^x - 1) / 9 令d = gcd(L,8),则 : L | 8(10^x - 1) / 9 9L | 8
阅读全文
摘要:【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=2190 【算法】 同POJ3090 值得注意的是此题数据规模较大,建议使用用线性筛筛出欧拉函数 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=3090 【算法】 通过观察发现,在这个平面直角坐标系中,除了(1,1),(1,0)和(0,1),所有可见点的横纵坐标互质 那么,问题就转化为了求 2 * (phi(1) + phi(2) + ... + phi(n)) + 3 预处
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 欧拉函数 【代码】
阅读全文
摘要:【题目链接】 点击打开链接【算法】 不难看出,ans = phi(2) + phi(3) + .... + phi(n-1) + phi(n) 线性筛筛出欧拉函数,预处理前缀和,即可【代码】 ...
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 线性筛出不大于N的所有素数,枚举gcd(x,y)(设为p),问题转化为求(x,y)=p的个数 设x=x'p, y=y'p,那么有(x,y)=1且1≤x,y≤N/p 转化为求(x,y)=1且1≤x,y≤n的个数 求(x,y)=1且1≤x,y≤N的个数: 若x≥y,
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 gcd(i,n)是n的约数 不妨设gcd(i,n) = d 考虑枚举d和gcd(i,n) = d有多少个 gcd(i,n) = d gcd(i/d,n/d) = 1 因为i<=n,所以i/d<=n/d 因此满足gcd(i,n) = d一共有phi(n/d)个 【
阅读全文

浙公网安备 33010602011771号