[俺们学校的题]伪.GCD】的更多相关文章

GCD 题面: 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 思路: 首先两个数gcd(x,y)=p为质数,那么令x=k1*p,y=k2*p,由于是最大公因数,所以有k1k2互质,那么根据每一个p我们可以构造出一些不同的k1k2(k1,k2<=n/p),于是求k1,k2可行组合就变成了求 1~n/p范围之内的互质组数.我们运用欧拉筛同时解决找p和互质组数的问题. 首先解决互质组数的问题.我们设f[i]为1~i中的互质二元组个数.则有递推式: f[i]…
Stern-Brocot Tree.伪.GCD 副本 伪.GCD 问题 1:\(f(a,b,c,n) = \sum_{i=0}^{n} [\frac{ai+b}{c}]\) Case 1: \(a\geq c 或 b\geq c\):\(f(a,b,c,n) = f(a\%c,b\%c,c,n)+(n+1)[\frac{b}{c}] + \frac{n(n+1)}{2}[\frac{a}{c}]\) Case 2: 令 \(m=[\frac{an+b}{c}]\), 有 $f(a,b,c,n)…
题目链接 Solution 此题,用到的结论都是比较浅显的,但是,我竟然没想到反过来枚举... 只有50分... 被自己蠢哭... 结论比较浅显: 1.对于两个正整数\(a\),\(b\),设 \(gcd(a,b)=k\),则存在\(gcd(a/k,b/k)=1\). 也就是说 \(x=k_1*a_1\),\(a_0=k_2*a_1\),它们最大公约数为\(a_1\),那么要求 \(k_1\) 与 \(k_2\) 必须互质,否则它们的最大公约数会是 \(gcd(k_1,k_2)*a_1\). 2…
这题真TM的趣味. 可以说我的动手能力还是不行,想到了算法却写不出来.以后说自己数论会GCD的时候只好虚了…… 我们首先这么想. x与a0的最大公约数为a1,那么我们把x/=a1,a0/=a1之后,x和a0不会再有除了1之外的公约数. 证明:设x/a1=c,a0/a1=d. 若有gcd(c,d)=y 则有p=c/y,q=d/y. 反之c=py,d=qy. 则有x=pya1,a0=qya1. 则x和a0共有公约数ya1. y属于正实数集,因此ya1>a1. 因此gcd(x,a0)=ya1. 又因为…
http://codeforces.com/problemset/problem/992/B  题意: 给你区间[l,r]和x,y 问你区间中有多少个数对 (a,b) 使得 gcd(a,b)=x lcm(a,b)=y ,如果a,b交换位置就是不同的数对 思路: 根据lcm(最小公倍数) 的定义 y=a*b/x; 也就是说 x∗y=a∗b : 那么 ,我们发现a,b一定为y的因数,所以我们枚举y的每个因子就可以,我们只要用log(y)的复杂度暴力算每一个因数就可以 , 然后对于每个因子当做a, b…
洛谷P1072:https://www.luogu.org/problemnew/show/P1072 思路 gcd(x,a0)=a1 lcm(x,b0)=b1→b0*x=b1*gcd(x,b0) (由a*b=gcd(a,b)*lcm(a,b)) x=(b1/b0)*gcd(x,b0) 令i=gcd(x,b0)∈[1,√b0] 分成两半求减少时间复杂度 特判相等的时候 判断x=(b1/b0)*i和x=(b1/b0)*(b0/i)是否满足条件 代码 #include<iostream> #inc…
第一篇博客,就从一个比较简单的题目入手吧! 题目: [HDU5512] 题意: 有n个塔,编号为1~n,  编号为a,b的塔已经维修好,此外其他的塔都需要维修.塔的维修是有顺序的,每次只能维修编号为k的塔 (k为其余两座已维修好的 i 和 j 编号相加或相减即k=i-j或k=i+j).有两个人轮流修塔,,直到一个人不能修塔则另一个人算获胜,问谁会获胜?(谁修完最后一个塔) 分析: 如果能维修编号为1的塔,则所有的塔都能维修(一直加1或一直减1则所有的数字都能取到),用类似于更相减损术的思想可以求…
njczy2010 2069 Accepted 31MS   224K 1351Byte G++ 2014-11-13 13:32:56.0 坑爹的无限gcd,,,尼玛想好久,原来要x对y算一次,y再对x算一次,,, 赵信的往事 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 20            测试通过 : 2 描述 赵信——德玛西亚的总管,可谓一人之下,万人之上.但谁能想到,他以前在诺克萨斯的角斗…
Trap Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 100    Accepted Submission(s): 39 Problem Description Avin is studying isosceles trapezoids. An isosceles trapezoid is a convex quadrilater…
https://www.hackerrank.com/contests/w8/challenges/john-and-gcd-list 简单题,GCD和LCM. #include <vector> #include <iostream> using namespace std; int gcd(int a, int b) { if (a % b == 0) { return b; } else { return gcd(b, a % b); } } int lcm(int a, i…