随笔分类 - gcd
摘要:标题是不是看不懂?没关系,简单来说就是毛子大学冬令营的题。 题面看不懂?没关系,我来讲述题意: 给定一个数n,一开始筐子A里有1~n一共n个数。假如A中某两个数的gcd不是1,那么这两个数可以一起放到筐子B里。 求(A中的数量+B中的数量/2)最小的数值. 构造题。 显然,尽可能让B中多A中少一定会
阅读全文
摘要:1.欧几里得求gcd 2.扩展欧几里得求解线性方程 首先根据Bezout定理,对于任意的a,b:ax+by=gcd(a,b); 然后根据欧几里得求gcd的方法构成等价方程,在递归的同时求出x,y; 另外一种写法:(不只是long long 的事情) 3.扩展欧几里得求逆元 这其实与上面的求线性方程的
阅读全文
摘要:异或 【题目描述】 给定一个正整数 n,在 [1,n]的范围内,求出有多少个无序数对(a,b)满足 gcd(a,b)=a xor b。 【输入格式】 输入共一行,一个正整数 n。 【输出格式】 输出共一行,一个正整数表示答案。 【输入输出样例】 【输入样例】 3 【输出样例】 1 【样例解释】 只有
阅读全文
摘要:题面 k==1时,快速幂就好了; k==2时,exgcd就好了,但要注意取模范围的控制; k==3时,BSGS可以解决高次同余方程: 然后就可以开心的A掉了,但要注意特殊情况的特判
阅读全文
摘要:题面 结论:gcd(F[n],F[m])=F[gcd(n,m)];F[n]=a和F[n+1]=bF[n+2]=a+b,F[n+3]=a+2b,…F[m]=F[m?n?1]a+F[m?n]bF[n]=a,F[n+1]=b,F[m]=F[m?n?1]a+F[m?n]F[m]=F[m?n?1]?F[n]+
阅读全文
摘要:现有n个Zack,每个Zack有一个一个能力值,从这n个Zack中选出k个,使他们的最大公约数的值最大 【输入格式】 第一行有一个整数n,代表有n个Zack 第二行n个整数ai,代表每个Zack的能力值 【输出格式】 一共n行,第n行为k=i情况下的能力值的最大公因数 【样例输入】 4 1 2 3
阅读全文
摘要:题面 提前知识:gcd(a/d,b/d)*d=gcd(a,b); lcm(a,b)=a*b/gcd(a,b); 那么可以比较轻松的算出:gcd(x/a1,a0/a1)==gcd(b1/b0,b1/x)==1; 那么我们求解的x仅仅从b1的因数中挑选就可以,x要符合以上条件且x%a1==0; 时间复杂
阅读全文
摘要:题面 本题是一道区间最大公约数的模板题; 如果N^2暴力的话当然会超时,所以我们要发掘出区间gcd的特点; 设gcd[i]表示区间[1,i]的最大公约数; 我们可以发现,从一个点i到1之间的所有区间的gcd均满足gcd[j]=GCD(gcd[j-1],a[j]); 由于gcd的性质,所以gcd[]是
阅读全文

浙公网安备 33010602011771号