CO-PRIME 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 This problem is so easy! Can you solve it? You are given a sequence which contains n integers a1,a2--an, your task is to find how many pair(ai, aj)(i < j) that ai and aj is co-prime. 输入 There are mult…
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 42600    Accepted Submission(s): 18885 Problem Description A ring is compose of n circles as shown in diagram. Put natural num…
题意:给你n(n<=100000)个正整数,求一个连续子序列使序列的所有元素的最大公约数与个数乘积最大 题解:我们知道一个原理就是对于n+1个数与n个数的最大公约数要么相等,要么减小并且减小至少一半(至少少了一个因子) 因此所有子串gcd的总种类数最多只有n*log(a(数字大小))个 我们枚举每个点计算以这个点为结束点的所有后缀,利用dp的思想通过前一次计算的最多log(a)个gcd计算出此时也是最多log(a')个gcd import java.util.Scanner; public cl…
Luogu3455:莫比乌斯反演进行GCD计数 莫比乌斯反演就是用来解决这一类问题的,通常f函数是要求的那个,F函数是显然的 这样利用F的结果就可以推出来f的结果 在计算结果的时候整除分快儿一下就可以很快了 #include<cstdio> #include<algorithm> using std::min; ; int cnt; long long ans; bool vis[maxn]; int mu[maxn],sum[maxn]; long long prim[maxn]…
链接:https://ac.nowcoder.com/acm/contest/549/J来源:牛客网 题目描述 小A最近开始研究数论题了,这一次他随手写出来一个式子,∑ni=1∑mj=1gcd(i,j)2∑i=1n∑j=1mgcd(i,j)2,但是他发现他并不太会计算这个式子,你可以告诉他这个结果吗,答案可能会比较大,请模上1000000007.输入描述:一行两个正整数n,m一行两个正整数n,m输出描述:一行一个整数表示输出结果一行一个整数表示输出结果   输入:2 2输出:7 1=<n,m<…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4119 依然是三维空间内求(1,1,1)~(a,b,c)能看到的整点数,平移一下转化成(0,0,0)~(a-1,b-1,c-1)就和前一题就一样了 还是莫比乌斯反演求gcd(a,b,c)=1的组数,公式还是sigma{u(d) * ((a/d+1) * (b/d+1) * (c/d+1) - 1)} 但直接暴力会T...所以加了分块优化...因为当a/d,b/d,c/d的值保持…
素数筛 朴素算法 一般来说,可以用试除法判断某一个数是不是素数: bool isPrime(int n) { if(n < 2) return false; for(int i = 2; i < n; i++) if(n % i == 0) return false; return true; } 但其实我们只需要试除到根号n即可,因为对于任意的n,假设存在一个大于根号n的因数,那么肯定存在一个小于根号n的因数与之对应.那么有: bool isPrime(int n) { if(n <…
tips : 积性函数 F (n) = Π F (piai ) 若F (n), G (n)是积性函数则 F (n) * G (n) Σd | n F (n) 是积性函数 n = Σd | n  φ (d) 1 = Σd | n  μ (d) Σgcd (i, n) = 1 i = n * φ (n) / 2 Problem1 F (n) = Σ1<= i <= n gcd(i, n), n <= 1000000 Sol 枚举结果 F (n) = Σd | n d * Σgcd (i, n…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3071 题目大意: 给定一个长度为n的序列m次操作,操作的种类一共有三种 查询 L :查询一个区间的所有的数的最小公倍数modp G :查询一个区间的所有的数的最大公约数modp 修改 C :将给定位置的值修改成x 解题思路: 注意数据范围,每个数字不超过100,所以100以内的质因子最多25个,如果直接求解lcm和gcd的话,long long也是存不下的,所以采用存储质因子的指数,但是如果每个节…
有n个数字,a11,a22,…,ann.有一个集合,刚开始集合为空.然后有一种操作每次向集合中加入一个数字或者删除一个数字.每次操作给出一个下标x(1 ≤ x ≤ n),如果axx已经在集合中,那么就删除axx,否则就加入axx. 问每次操作之后集合中互质的数字有多少对. 注意,集合中可以有重复的数字,两个数字不同当且仅当他们的下标不同. 比如a11=a22=1.那么经过两次操作1,2之后,集合之后存在两个1,里面有一对互质. Input单组测试数据. 第一行包含两个整数n 和 q (1 ≤ n…