数论
dukig
尽人事,知天命。
展开
-
欧拉函数 vj某入门题集
今天开始专研数论。先从最基础的欧拉函数开始。https://vjudge.net/contest/211370#overviewA欧拉函数水题#include<iostream>#include<algorithm>using namespace std;int euler(int n){ int res = n,a = n; for(int...原创 2019-03-31 20:09:27 · 188 阅读 · 0 评论 -
hdoj6182(快速幂)
给定一个n,求有多少个k使k的k次方小于等于n。标准快速幂嘛。。#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;typedef long double ld;typedef long long ll...原创 2019-04-09 20:51:58 · 136 阅读 · 0 评论 -
hdoj6441(勾股数)(模板 重要)
a^n+b^n=c^n 给出a与n,问是否可以求出b,c费马大定理可知n>2时无解,n=1时无需多言,n=2时用勾股数定理求得#include <cstdio>typedef long long ll;int main() { int T; scanf("%d", &T); while (T--) { ll n, a, b, c; scan...原创 2019-04-09 23:54:21 · 160 阅读 · 0 评论 -
LightOJ - 1259(素数筛)
链接:https://vjudge.net/contest/288256#problem/F#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;const int sz = 1e7+1;int prime...原创 2019-04-16 17:33:07 · 142 阅读 · 0 评论 -
LightOJ - 1138 (求n的阶乘末尾0的个数)
https://vjudge.net/contest/276155#problem/N因为只有与5相乘才会得0,所以只用求5的个数即可。#include<iostream>#include<cstdlib>#include<cstdio>#include<algorithm>#include<cstring>#incl...原创 2019-04-25 20:08:48 · 204 阅读 · 0 评论 -
LightOJ - 1234(欧拉常数 模板记)
链接:https://cn.vjudge.net/contest/276155#problem/I1+1/2+1/3... = log(1+n) + r(欧拉常数),需要大精度时减去1.0/(2*n);r =0.57721566490153286060651209#include<iostream>#include<algorithm>#include&...原创 2019-04-21 19:09:37 · 182 阅读 · 0 评论 -
LightOJ - 1220 (唯一分解定理)
题意:给定n,n = b^p,b与p均未给出,求最大的p。用唯一分解定理分解n,p就是n所有因子得幂得最大公约数。如 12 = 2^2*3,p = gcd(2,1) = 1,n为负数时p必须处理为奇数,因为偶数时n就是正数了。#include<iostream>#include<algorithm>#include<cstdio>#include...原创 2019-04-21 19:55:01 · 202 阅读 · 0 评论 -
LightOJ - 1214(大数取模)
链接:https://cn.vjudge.net/contest/276155#problem/K求a能否整除b。将大数分解为一个个数,例如123 = 1*10^2 + 2*10^1 + 3*10^0,逐个膜。#include<iostream>#include<algorithm>#include<cstdio>#include<cs...原创 2019-04-21 20:16:40 · 167 阅读 · 0 评论 -
知识点
求1~n得约数和:https://ac.nowcoder.com/acm/problem/14682海伦海勒for (t=1; t<=100000; t++) //求面积为整数的 { int delta=3*(t*t-4); int pd=floor(sqrt(delta)); if (pd*pd!=delta) continue; delta=pd; i...原创 2019-04-21 20:50:51 · 156 阅读 · 0 评论 -
UVA - 11426 (欧拉函数)
链接:https://vjudge.net/contest/276155#problem/O题意:给出n,求gcd(i,j)得总和(i重1到n-1,j重i+1到n-1)用欧拉函数求出数量 很巧妙#include <cstdio>#include <cstring> using namespace std; const int MAXN = 40000...原创 2019-04-25 21:01:29 · 139 阅读 · 0 评论 -
uva11752 (素数)
题意:求0到上限的是至少2个数的平方的数。那个数一定是和数#define _CRT_SECURE_NO_WARNINGS #include<iostream>#include<algorithm>#include<string>#include<sstream>#include<set>#include<vec...原创 2019-04-26 20:13:49 · 353 阅读 · 0 评论 -
LightOJ - 1213(组合数学 快速幂)
https://vjudge.net/contest/276155#problem/L给出n,k,mod 和数量为n得int数组a[i],求k层嵌套得a数组相加后膜mod的值。排列组合求得每个数的出现次数为(n^(k-1))*k,再用快速幂求结果。#include<iostream>#include<algorithm>#include<cstdio...原创 2019-04-22 19:15:57 · 234 阅读 · 0 评论 -
UVA-11827 (输入坑)
链接:https://cn.vjudge.net/contest/276155#problem/V输入可以学学#include <iostream>#include <cstdlib>#include <cstdio> using namespace std; int data[101]; int gcd(int a, int b){...原创 2019-04-26 20:42:46 · 391 阅读 · 0 评论 -
LightOJ - 1197(大整数素数塞)记住
https://vjudge.net/contest/276155#problem/M#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>#include<iostream>using namespace std;typedef long ...原创 2019-04-22 19:47:05 · 280 阅读 · 0 评论 -
洛谷挑战LV3--数论
P2154java自带大数据处理import java.*;import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;public class Main { static public void main(String args[]) { Scanner...原创 2019-05-05 20:00:12 · 294 阅读 · 0 评论 -
Poj 1845 (唯一分解定理+快速幂+逆元)
链接:https://vjudge.net/problem/POJ-1845题意:给定2个自然数a,b,求a^b的所有约数的和#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<vector>#define mod 99...原创 2019-04-03 17:42:06 · 189 阅读 · 0 评论 -
处女座和测试(一)(素数筛选)
链接:https://ac.nowcoder.com/acm/contest/327/H2个a,b质数相乘的因数的因数有1,a,b,a*b#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;typedef...原创 2019-04-09 16:17:07 · 116 阅读 · 0 评论 -
Choose and divide UVA - 10375
链接:https://vjudge.net/problem/UVA-10375题意:给定公式 C(m,n) = m!/((m-n)!*n!)),给定4个数p,q,r,s,求C(p,q)/C(r,s);思路:为阶层的每一个数用唯一分解定理分解。这种大数相除精度高的题要用唯一分解定理。#include<iostream>#include<algorithm>...原创 2019-04-03 14:58:19 · 82 阅读 · 0 评论 -
牛客练习赛43B
#include<bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d", &T); while(T--) { int m, n, k1, k2; scanf("%d%d%d%d", &m, &n, &k1, &...原创 2019-04-06 10:31:52 · 99 阅读 · 0 评论 -
欧拉函数知识
欧拉函数概念:https://blog.csdn.net/nan81962325/article/details/79964951欧拉函数证明:https://blog.csdn.net/wrwhahah/article/details/82704053在1..N中与N互质的数的和S = N*eular(N)/2及其证明:https://blog.csdn.net/raalghul/art...转载 2019-04-01 12:42:56 · 159 阅读 · 0 评论 -
乘法逆元(拓展欧几里得)
链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1256#include<iostream>using namespace std;void egcd(long long a,long long b,long long &x,long long &y){ if(b == 0){ x ...原创 2019-04-06 14:56:08 · 466 阅读 · 0 评论 -
费波纳列数列第n项(矩阵快速幂)
链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1242矩阵快速幂说白了就是用矩阵找规律+快速幂乘矩阵#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using names...原创 2019-04-06 16:37:37 · 441 阅读 · 0 评论 -
hdoj6185(递推+矩阵快速幂)
给定n,问4*n的平面由2*1或1*2的板砖铺满要多少块。看图说话,可能对大神来说最难的是解决前4块。#include <iostream> #include <cstring>#include <cstdio>using namespace std; #define LL long long const int mod=1000000007...原创 2019-04-10 20:54:53 · 183 阅读 · 0 评论 -
HDOJ4686(矩阵快速幂)
链接:https://cn.vjudge.net/contest/51124#problem/C题意 7个数n,a,ax,ay,b,bx,by,a(i) = a(i-1)+*ax+ay, b(i) = b(i-1) * bx+by,求a*b累加n次后mod1,000,000,007的数.矩阵快速幂,5*5矩阵较难推出,看了别人题解好久才懂。#include <cstdio&g...原创 2019-04-07 14:07:20 · 167 阅读 · 0 评论 -
nod51 1079(中国剩余定理)
中国剩余定理原理以及模板:https://blog.csdn.net/tick_tock97/article/details/71313058题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1079#include<iostream>#include<algorithm>#include...原创 2019-04-07 15:07:36 · 112 阅读 · 0 评论 -
n!的长度(斯特林公式)
链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1130特林公式以及本题参考代码:https://blog.csdn.net/qq_41003528/article/details/82840908#include<iostream>#include<algorithm>#include&l...原创 2019-04-07 15:49:19 · 513 阅读 · 0 评论 -
小a与黄金街道(欧拉函数+快速幂)
链接:https://ac.nowcoder.com/acm/contest/317/D本题的关键是所有质数的和 q = n*euler(n)/2;先用欧拉函数求出所有质数的和,再用快速幂求出k^q#include<iostream>#include<algorithm>#include<cstdio>#include<cstring...原创 2019-04-07 20:19:12 · 114 阅读 · 0 评论 -
kuangbin14数论解析
链接:https://vjudge.net/contest/288256#overviewA.题意:给定n个数,对于每个数xi找出一个相对应的数yi,使得y的欧拉函数值大于或者等于x,给出这n个y的最小值。解法:欧拉快速筛(水#include<iostream>#include<algorithm>#include<cstdio> #in...原创 2019-04-02 23:21:05 · 106 阅读 · 0 评论 -
唯一分解定理(概念)
typedef long long ll;ll fac[10050], num;//素因数,素因数的个数void init(ll n) {//唯一分解定理 num = 0; ll cpy = n; int m = (int)sqrt(n + 0.5); for (int i = 2; i <= m; ++i) { if (cpy % i ...转载 2019-04-03 00:37:32 · 185 阅读 · 0 评论 -
容斥原理专题
原理在第三行最后一列hdoj1465设n个装错,n-1,n-2..#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;int f[21];void init(){ for(int i = 2;...原创 2019-04-30 17:59:56 · 245 阅读 · 0 评论