数论
私はずっと、コーデリーが好きです
这个作者很懒,什么都没留下…
展开
-
斜率 讲解
斜率 为什么写这个呢,因为我正在学习 斜率优化 斜率是一条直线的 倾斜率 可以这样理解 360百科的图片 好了,讲完了,谢谢阅读原创 2020-09-20 20:31:14 · 330 阅读 · 0 评论 -
费马小定理及证明
费马小定理 如果有一个质数p,则满足: a ^ (p-1) ≡ 1 (mod p) 证明:首先要知道 欧拉定理 我的垃圾博客:欧拉定理及扩展 证明:当p为质数时,φ[p] = p-1 ,然后根据欧拉定理,证毕。 谢谢阅读原创 2020-09-07 20:33:01 · 328 阅读 · 1 评论 -
欧拉定理及扩展 #迎考普及组,大家奥利给!!!
欧拉定理 其中需要知道欧拉函数:传送门在这(我的博客)垃圾博客 若gcd(a,p)=1,则有:a^ φ[p] ≡ 1(mod p) 可以不证明了吗,我作业还没写 可以呢!!! 可以用欧拉定理证明费马小定理 扩展欧拉定理: gcd(a,p) = 1 : a^c ≡ a ^(c mod φ[m]) (mod p) gcd(a,p) ≠ 1 c<φ[m] : a^c ≡ a ^ c (mod p) gcd(a,p) ≠ 1 c>=φ[m] : a^c ≡ a ^{ (c mod原创 2020-09-03 21:15:29 · 189 阅读 · 2 评论 -
积性函数是什么 超级明白的敷衍介绍
什么是积性函数 对于互质的整数a, b,若f(a)f(b)=f(ab),则函数f(x)为积性函数。 欧拉函数为积性函数。 若对于任意整数a, b,都有f(a)f(b)=f(ab),则函数f(x)为完全积性函数。 函数f(x)=x为完全积性函数。 谢谢阅读,是不是很敷衍,因为,没什么好说的 ...原创 2020-08-30 17:31:44 · 182 阅读 · 0 评论 -
卡特兰数介绍
卡特兰数 概念:一个类似斐波那契数列的东西,但是更高级,更坑人。 前几项 1 1 2 5 14 42 卡特兰数第n项:f[n] f[n]的意义 从(0, 0)到(n, n)每次仅向右或上走不仅过y=x以上的点的走法数。 将1, 2, …, n依次加入栈中并取出的方案数。 长度为2n的合法括号序列(n个左括号与n个右括号)数。 图片: 几个东西 从(0, 0)到(n, n)每次仅向右或上走的走法数为c[2n][m] 这里的c为组合数 若经过y=x(两个坐标)以上部分,我们将第一次进入y=x以上部分的后续步骤原创 2020-08-30 17:09:22 · 170 阅读 · 0 评论 -
求一连串数 mod p 的乘法逆元 #c++ #模板代码
求一连串数 mod p 的乘法逆元 没有推理过程,要的可以自己去查查 因为博主没时间 太懒了 明明不会 瞎说,你没了 求一连串数 1~n mod p 的乘法逆元 inv[1] = 1; for(int i=2;i<=n;++i) inv[i]=(p - p / i)*inv[p%i]%p; 谢谢阅读 ...原创 2020-08-23 16:56:29 · 131 阅读 · 0 评论 -
乘法逆元模板题题解 #cpp
题目 洛谷 P3811 传送门:题目 80分做法 6个点 TLE了一个点 思路:暴力枚举,求每一个数的乘法逆元,用我博客里的代码 #include<bits/stdc++.h> using namespace std; #define ll long long ll n,p; ll exgcd(ll a,ll b,ll& x,ll& y) { if(b==0) { x=1,y=0; return a; } ll g=exgcd(b,a%b,x,y); ll t;原创 2020-08-23 16:51:31 · 221 阅读 · 0 评论 -
代码求乘法逆元 #扩欧 #c++
求乘法逆元 有费马小定理和扩欧两种方法 我的认知中 这里介绍扩欧求乘法逆元 乘法逆元是什么??? 我的垃圾博客 扩欧是什么??? 又是我的垃圾博客 如果bx%p==1,则 bx+py=1 (扩展欧几里得算法) 求出 exgcd(b,p,x,y) 那么 (x%p+p)%p 即为 b 的逆元 ((x%p+p)%p为x的最小正整数解) 用点时间理解下,然后往下背理解代码 cpp 扩欧用int或void问题不大 int exgcd(int a,int b,int& x,int& y) { if(b原创 2020-08-23 16:24:02 · 1356 阅读 · 1 评论 -
乘法逆元 概念
乘法逆元是什么东西 如果一个整数a,满足a*b≡1(mod p),那么这个整数b就是a的乘法逆元,同时a也为b的乘法逆元 a 有逆元的必要条件 :gcd(a,p)=1 干什么??? 首先要知道 (a/b)%p≠(a%p/b%p)%p 于是逆元出来了!!! 求 (a/b)%p 的值 相当于 求 a∗(b的逆元)%p 的值 谢谢阅读 讲求逆元的代码明天发 只要能把暑假作业补完 ...原创 2020-08-22 23:08:37 · 462 阅读 · 0 评论 -
关于欧拉函数的良心介绍 #记住我
欧拉函数 符号:φ 意义:φ(n)指小于或等于n的数中与n互质的数的数目,其中,n为正整数 求φ(n)的代码:cpp 1.筛法 void make_phi(int n) { memset(phi,0,sizeof(phi));phi[1]=1; for (int i=2;i<=n;i++) if (!phi[i]) for (int j=1;j<=n/i;j++) { if (!phi[i*j]) phi[i*j]=i*j; phi原创 2020-08-19 10:21:09 · 168 阅读 · 0 评论 -
矩阵快速幂 c++代码 #超明白 #记住我
矩阵快速幂 阅读这篇博客之前,请先行学习矩阵,谢谢 矩阵乘法 不靠谱解释 : 若A为n×k矩阵,B为k×m矩阵,则它们的乘积AB(有时记做A·B)将是一个n×m矩阵 其中,矩阵的每一个元素一一对应相乘,相加 前一个矩阵的列数应该等于后一个矩阵的行数 得出的矩阵行数等于前一个矩阵的行数,列数等于后一个矩阵的行数 自己去学,不太想讲,一篇文章:矩阵乘除法 其实是博主能力不够,见谅 好了,不靠谱模式 start 代码:cpp 矩阵快速幂的函数 const int MOD=10000; struct mat {原创 2020-08-18 22:55:50 · 343 阅读 · 0 评论 -
快速幂 模板代码 #记住我
快速幂 非矩阵的那种鸭 代码: int pow(int a,int b) { int v=1; while(b) { if(b&1)v=v*a; a=a*a; b>>=1; } return v; } 求 a 的 b 次方 思想: 不管指数b是什么 都可以拆成 2 的 k 次方 eg: 5=2^2 + 2 ^ 0 可以转化成二进制去理解 然后 每次 盗版二分 !!! 指数除以2的同时,a也在乘法扩大 很好理解 谢谢阅读 找找校友:我在 FZ Wenbo Chi原创 2020-08-17 17:47:11 · 134 阅读 · 0 评论 -
扩展欧几里得算法良心介绍
扩展欧几里得算法 大家,我想被打火 转载请附链接 概念:求解关于x, y的方程ax+by=gcd(a,b)的整数解。 我们由某蜀定理裴蜀定理可知其是否有解 不懂的话: 我的良心博客 可以利用方程 bx′+(a mod b)y′=gcd(a, b) 的整数解(x′, y′)来计算出方程ax+by=gcd(a, b) 的整数解 原因:bx′ + (a mod b)y′ = gcd(a, b) 这坨东西根据某蜀定理 这个怎么读啊 和gcd可知::: 她和原方程有一样的解 以下是老师讲的内容:::: 代原创 2020-08-17 17:33:50 · 217 阅读 · 0 评论 -
裴蜀定理 超短介绍
裴蜀定理 超短介绍 概念: 当a和b是整数,方程ax+by=d有整数解当且仅当gcd(a, b)|d。 作用:判定形如ax+by=d的方程是否有整数解 求解是扩欧的内容 谢谢阅读 我良心吗原创 2020-08-17 17:15:26 · 153 阅读 · 0 评论