数论
_pkm_
love coding
展开
-
Codeforces Round #332 (Div. 2)D. Spongebob and Squares(数学方程,暴力)
题目链接 题意:给你一个数X问,n*m的矩形中,面积不同的正方形的个数和是X。输出所有的 n * m 解法: 然后继续化简是6*x+n^3-n=(3 * n^2+3 * n) * m是关于m的函数,我们直接枚举n,就好了,注意上限, #include<bits/stdc++.h> using namespace std; #define LL long long #define pb push原创 2015-11-21 15:34:45 · 396 阅读 · 0 评论 -
HIHO #1298 : 数论五·欧拉函数
题目链接#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define fastIO ios::sync_with_stdio(false);cin.tie(0); #define LL long long #define pb push_back #define gcd __gcd原创 2016-08-27 12:59:26 · 440 阅读 · 0 评论 -
HIHO #1303 : 数论六·模线性方程组
题目链接解多个线性的模方程组 提示讲的很清楚辣#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define fastIO ios::sync_with_stdio(false);cin.tie(0); #define LL long long #define pb push_ba原创 2016-08-27 16:55:10 · 633 阅读 · 0 评论 -
HDU 5901 Count primes (区间素数个数)
题目链接 题意:计算区间[1,1e11]中的素数的个数 题解上给出了一些相关的知识 1,icpc 2, cf ,F. Four Divisors 3,cf,题解是一道论文题目了,拿来当做模板好了本题目: 模板1O(n(3/4)) #include <bits/stdc++.h> #define ll long long using namespace std; ll f[340000],原创 2016-09-21 09:15:30 · 809 阅读 · 1 评论 -
HIHO #1287 : 数论一·Miller-Rabin质数测试
题目链接注意一点的是快速幂,过程中乘法,使用快速乘法,避免溢出#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define fastIO ios::sync_with_stdio(false);cin.tie(0); #define LL long long #define pb原创 2016-08-26 20:28:46 · 624 阅读 · 0 评论 -
Codeforces Round #368 (Div. 2)(C. Pythagorean Triples 勾股数规律)
题目链接给出一个数,输出2个数,使得这三个数是勾股数形如2n,n^2-1,n^2+1可以组合成勾股数,这是偶数的情况 奇数的时候看个例子 3,4,5 4 = (1+3) * 1 5,12,13 12 = (1+5)*2 7,24,25 24 = (1+7)*3 9,40,41 40 = (1+9)*4 … 第二列数就是第一列数在以3为首项原创 2016-08-21 10:53:19 · 259 阅读 · 0 评论 -
HDU 5793 A Boring Question (逆元)
题目链接模数是质数,可以使用快速幂计算逆元或者打表找规律 #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #include<string> #include<cmath> #include<map> #include<set> #include<cstdlib> #include<vector> us原创 2016-08-06 07:12:34 · 228 阅读 · 0 评论 -
HIHO #1297 : 数论四·扩展欧几里德
这里写链接内容计算Ax+By=C 如果C是gcd(A,B)的整数倍,就有解,否则无解你用扩展欧几里得,计算上述公式,只需计算A1 x+B1 y=1; A1=A/gcd(A,B),B1=B/gcd(A,B);最后在把x扩大C/gcd(A,B)倍。x可能是负数,如果要求正数,可以扩充解系,我们需要将(A’,B’,x’,y’)扩充为一个解系。 由于A’B’是互质的,所以可以将A’x’+B’y’=1扩原创 2016-08-27 12:46:01 · 459 阅读 · 0 评论 -
HIHO #1296 : 数论三·约瑟夫问题
题目链接#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define fastIO ios::sync_with_stdio(false);cin.tie(0); #define LL long long #define pb push_back #define gcd __gcd原创 2016-08-27 11:06:49 · 470 阅读 · 0 评论 -
HIHO #1295 : 数论二·Eular质数筛法
题目链接欧拉筛法,效率O(n)#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define fastIO ios::sync_with_stdio(false);cin.tie(0); #define LL long long #define pb push_back #defin原创 2016-08-27 10:40:06 · 417 阅读 · 0 评论 -
HDU5750 (暴力+剪枝)
题目链接 计算一个区间里面有多少个的数最大因子是d(不能是本身),等价转换为找一个最小质因子,答案就是1到min(d最小质因子,(n-1)/d )的质因子个数#include<cstdio> #include<algorithm> #include<iostream> #include<vector> using namespace std; #define cl(a,b) memset(a,b,原创 2016-07-24 12:52:33 · 447 阅读 · 0 评论 -
HDU5584 LCM Walk(数学)
题目链接 对于给出的点(x,y) 假设gcd(x,y)=g; 那么x = pg,y = qg(p与q肯定是互质的)他们的LCM=pqg, 这样(x,y)就可以表示为(pg,qg),比如向上走一步 的话,就是(pg+pqg,qg)—>(pg(1+q),qg)—>约掉g—>(p(1+q), q)也就是坐标的大的一个是可以整除坐标小的一个加一的。满足这个条件就是存在前驱节点 #include<bits原创 2016-04-15 16:30:24 · 405 阅读 · 0 评论 -
#1195 : 高斯消元·一(模板题)
题目链接高斯消元,使用列主元的方法即可。 如果使用浮点数计算的话,要注意精度问题,还有一个题目的讲解有个小问题,我的提问#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define fastIO ios::sync_with_stdio(false);cin.tie(0); #d原创 2016-08-25 20:49:10 · 469 阅读 · 0 评论