数论
wtcl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
O(N) 求 1~N 逆元 模板及证明
https://blog.youkuaiyun.com/liyizhixl/article/details/78426576原创 2020-08-06 23:43:35 · 214 阅读 · 0 评论 -
Little Rabbit‘s Equation(模拟)
答案一定要比数字的每一位大 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define ll long long char s[100]; int main() { while(scanf("%s",s+1)!=EOF) { int flag=0; int len=strlen(s+1); int m原创 2020-08-06 23:10:48 · 200 阅读 · 0 评论 -
牛客多校七 Dividing(数论分块)
数论分块:求n/1+n/2+n/3+…+n/k的和 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define ll long long ll mod=1e9+7; int main() { ll n,k; scanf("%lld%lld",&n,&k); ll a原创 2020-08-02 01:04:36 · 179 阅读 · 0 评论 -
Fibonacci Sum HDU - 6755(数论+优化)
讲解:https://blog.youkuaiyun.com/acdreamers/article/details/23039571 (题目基本一样) 优化: 1.欧拉降幂 2. num1=ksm(a*ksm(b,mod-2)%mod,c); num2=ksm(num1,n+1); 等比数列公比:t[r]=(a^r * b^(k-r) )^c = (a^(r-1) * b^(k-r+1)) ^ c * (a/b)^c= (a^(r-1) * b^(k-r+1) ) ^c * num1; 等比数列前n项和原创 2020-07-22 16:09:15 · 173 阅读 · 0 评论 -
乘法逆元
a/b=a*x(modp) 求b的模p逆元x4** 条件: 1.b|a 2.b,p互质(当p是质数时,b不是p的倍数) 算法: 1.如果p为质数 b^p-2是b的乘法逆元 2.如果只保证b,p互质,求解同余方程原创 2020-07-22 01:42:45 · 91 阅读 · 0 评论 -
牛客多校三 Fraction Construction Problem(构造+数论)
构造题型:分类构造 情况一:a和b不互质:g=gcd(a,b) 答案为a/g+1,b/g,1,b/g 情况二:a和b互质,b的相异质因数个数大于1 1.一定能找到d,f,满足d*f=b且d,f互质。 2.原创 2020-07-21 10:28:18 · 151 阅读 · 0 评论 -
Basic Gcd Problem(数论)
思路: 1.理解题意后后不难发现要求的其实是c^f[n],f[n]就是求解f[n]所用的递归层数。 例:n=20; n=2^2 + 5^1; [20]=f[4]+1;//每次都除一个质因数 f[4]=f[2]+1; f[2]=f[1]+1; 2.其实就是求n的质因子总数 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #原创 2020-07-20 21:53:11 · 110 阅读 · 0 评论 -
扩展欧几里得算法
欧几里得算法(辗转相除法): d|a d|b -> d|(ax+by) (a,b)=(b,a%b) a%b=a-(a/b)b=a-cb (a,b)=(b,a-c*b); 裴蜀定理:对于任意的任意的a,b, 一定存在非零整数x,y,使得 ax+by=gcd(a,b) gcd(a,b)是a和b能凑出来的最小的正整数。 能由a和b凑出来的数一定是gcd(a,b)的倍数。 a是gcd(a,b)的倍数,b是gcd(a,b)的倍数, ax+by一定是gcd(a,b)的倍数 扩展欧几里得算法 #inc原创 2020-07-19 13:26:40 · 142 阅读 · 0 评论 -
Link/Cut Tree CodeForces - 614A(数论)
1.虽然l,r都在long long范围内但ans还是有可能爆ll(因为你最后只有>r时才会停止) #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define ll long long int main() { ll l,r,k,ans; scanf("%lld%lld%lld",&l,&r原创 2020-07-07 20:20:55 · 129 阅读 · 0 评论 -
Pagodas HDU - 5512(gcd)
1.假设没有范围限制,只是给两个点,那么接来下能够扩展的点有什么什么特点? 其实很显然了, 所能生产点的特点就是xa+yb 2.假设num=xa+yb,只有gcd(a,b)能整除num,(不知道的赶快补)那么这个num才能被表示。 3.那么有多少个只有的num? total=n/gcd(a,b)(向下取整) 4.如果数量是偶数,先手输反之先手赢… #include<cstdio> #include<cstring> #include<iostream> #include&原创 2020-07-04 12:49:05 · 144 阅读 · 0 评论 -
Codeforces Round #632 (Div. 2) F - Kate and imperfection(数论)
讲解:https://blog.youkuaiyun.com/qq_43627087/article/details/105402480?fps=1&locationNum=2 这道题本质是求1-n每个数的最大因子。 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm...原创 2020-04-10 21:40:16 · 186 阅读 · 0 评论 -
线性筛
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; const int N=1000010; int primes[N],cnt; bool st[N]; void get_primes(int n) { for...原创 2020-04-10 20:47:17 · 93 阅读 · 0 评论 -
欧拉筛
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N=1000010; int primes[N],cnt; bool st[N]; void get_primes(int n) { for...原创 2020-04-10 20:42:22 · 119 阅读 · 0 评论 -
数字转换
数论常用技巧:求倍数比求约数简单。 ```cpp #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N=1e5+10; int d1[N],d2[N],st[N]; int h[N],e[N...原创 2020-03-26 19:37:20 · 209 阅读 · 0 评论 -
Trailing Zeroes (III) LightOJ - 1138
题意:给你一个n问你多少的阶乘末尾0位n个。 根据算术基本定理,可以得到x = 2 ^ a *3^b*5^c.... 只有当2 和 5 出现的时候才能出想0,因为2 的个数肯定比5多,所以对于每个5,都能使结果多一个0。于是只要求到n! 中有多少个5 个数,但是对于n! 来讲,无法直接求到它的值,需要通过一些方法来解决; 用到了一个数论知识: 若p是质数,p<=n,则n!是p的倍数,设p^x...原创 2019-09-18 14:40:31 · 140 阅读 · 0 评论 -
Goldbach`s Conjecture LightOJ - 1259 欧拉筛
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> bool p[10000010]; int prime[1000010];//1e7会溢出 int cnt=0; #define ll long long void isprime() { p[0]=p...原创 2019-09-14 12:52:57 · 112 阅读 · 0 评论 -
The Super Powers UVA - 11752n
数论 The Super Powers UVA - 11752@TOC //The Super Powers UVA - 11752 #include #include #include #include using namespace std; #define ll unsigned long long const int maxn=64+5; ll inf=(1<<64)-1; b...原创 2019-09-01 15:47:17 · 146 阅读 · 0 评论
分享