素数与函数
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
【欧拉函数打表】LightOJ - 1370 Bi-shoe and Phi-shoe
Problem Description 给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和。f(n)的n至少从2开始。思路: 欧拉函数f(n)定义:表示小于或等于n的数中与n互质的数的数目,f(n) = n∏(1 - 1/p)其中p|n 欧拉函数求值的方法: (1) f(1) = 1; (2) 若n是素数p的k次幂,f(n) = p翻译 2017-10-16 10:59:22 · 238 阅读 · 0 评论 -
【组合数学&&欧拉降幂】ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies
Step1 Problem:有 n 个人编号为 1, 2, 3, …, n,有 n 个糖果,按编号从小到大顺序分发给它们,所到编号至少得获得一个糖果,求有多少种分配方案。数据范围:1<=T<=100, 1<=n<=10^100000.Step2 Ideas:n个糖果恰好分给 1 个小朋友的方案数:C(n-1, 0)n个糖果恰好分给 2 个小朋友的方案数:C...翻译 2018-10-02 15:20:53 · 255 阅读 · 0 评论 -
【线性筛】ACM-ICPC 2018 南京赛区网络预赛 J. Sum
Step1 Problem: n = a*b, 同时 a 的因数不存在平方数,b 的因数不存在平方数。(a != b,a 和 b 互换位置算不同的方案) f(n):满足上述条件的方案数 例如 n = 4: 只有 (2, 2) 一种方案,因为 (1, 4), (4, 1) 中的 4 的因数存在平方数。 T组询问,每次给你一个 n, 让你输出 sum{ f(i) }, i =...翻译 2018-09-03 18:12:02 · 180 阅读 · 0 评论 -
【欧拉定理 && ( 容斥 || 反演 )】2018 Multi-University Training Contest 7 1005 GuGuFishtion
Step1 Problem: phi():欧拉函数 G(a, b) = phi(a*b) / (phi(a) * phi(b)) 让你求 sum{ G(a, b) }, a = 1, 2, 3, …, m, b = 1, 2, 3, …, n. 数据范围: 1<=m, n<=1e6, max(n, m) < p <= 1e9+7. 其中 p ...翻译 2018-08-14 21:20:02 · 176 阅读 · 0 评论 -
【阶乘质因数分解 && 数学】51Nod - 1189 阶乘分数
Step1 Problem: 1/N! = 1/X + 1/Y (0 &amp;lt; x &amp;lt;= y), 给你 N, 求满足条件的整数解的数量 Mod 1e9+7。 例: N = 2, 1/2 = 1/3 + 1/6, 1/2 = 1/4 + 1/4Step2 Ideas: 学习博客 1/N! = 1/X + 1/Y -&amp;gt; (N!)^2 = (N! - X) ...翻译 2018-07-14 13:31:31 · 502 阅读 · 0 评论 -
【区间范围素数筛法】POJ - 2689 Prime Distance
Problem Description 输入a,b代表区间范围[a,b]。问你里面相邻素数距离最近的是那两个素数,相邻素数距离最远的是那两个素数。思路: 素数筛法复杂度是O(nloglogn)。因为b的范围爆int,直接跑肯定超时。我们可以开两个数组,数组prime[]用来筛[2, sqrt(b)),数组Prime[]用来筛[a, b]。因为b以内的合数的最小质因数一定不超过sqrt(b)翻译 2017-10-07 11:14:58 · 481 阅读 · 0 评论 -
【质因数分解 && n = x^p求最大p】LightOJ - 1220 Mysterious Bacteria
Problem Description 输入n,n = x^p求最大的p思路: 算术基本定理可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1^a1*P2^a2*P3^a3……Pn^an,这里P1小于P2小于P3……小于Pn均为质数,其中指数ai是正整数。 n = x^p。最大的p就是gcd(p1, p2, p3, …, pn)。翻译 2017-10-16 19:48:05 · 306 阅读 · 0 评论 -
【基本算术定理 && 质因数分解】LightOJ - 1341 Aladdin and the Flying Carpet
Problem Description a面积,b为其中一条边最小长度,问你能组成不同矩形不包含正方形的个数。思路: 算术基本定理可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1^a1*P2^a2*P3^a3……Pn^an,这里P1小于P2小于P3……小于Pn均为质数,其中指数ai是正整数。 定理应用: (1) 一个大于1的翻译 2017-10-16 16:38:58 · 373 阅读 · 0 评论 -
【Miller-Rabin 素数判定】HDU - 2138 How many prime numbers
Problem Description 输入n,接下来有n个数,问你里面有多少个是素数。思路: 我分别用了三种不同的方法,测试了一下时间复杂度。i*i<=num 没有 sqrt(num) 快,这个得注意,,复杂度为O(n*sqrt(n))。Miller_Rabin速度最快,也是为了这个算法发的博客。//超时代码#include<bits/stdc++.h>using namespac翻译 2017-10-09 17:54:37 · 214 阅读 · 0 评论 -
【埃氏筛法】 OpenJ_Bailian - 3177 判决素数个数
Problem Description 输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。思路: 模板题,因为max(x, y)<=10^5。所以直接跑埃氏筛法这个即可。#include<bits/stdc++.h>using namespace std;#define nn 100055int prime[nn];void get_prime(int a, int b)翻译 2017-10-07 10:05:19 · 547 阅读 · 0 评论 -
【欧拉函数 && 求gcd(n, x) = y,x的个数】UVA - 11426 GCD - Extreme (II)
Problem Description G=0; for(i=1;i<N;i++) for(j=i+1;j<=N;j++) { G+=gcd(i,j); } 输入一个N,输出G思路:参考了一个很不错的博客 我们令f[n]表示1到n-1与n的gcd的和,那么G[n] = G[n-1] + f[n]; a[i]表示与gcd(n, x)= i 的x的个数翻译 2017-10-18 20:22:20 · 289 阅读 · 0 评论 -
【容斥O(n)莫比乌斯筛 && 花式开根】Educational Codeforces Round 50 (Rated for Div. 2) F. Relatively Prime Powers
Step1 Problem:找 2 到 n 中满足条件 x 的个数。条件:x 唯一分解后质因数的幂的 gcd = 1。例:10:4, 8, 9 不满足条件,输出 6.数据范围:1&lt;=T&lt;=1e5, 2 &lt;= n &lt;= 1e18.Step2 Ideas:x^4 * y^2 = (x^2 * y)^2,也就是对幂进行提公因式。幂提公因式 = 1 的个数就是...翻译 2018-10-02 17:44:47 · 351 阅读 · 3 评论