![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学板子
文章平均质量分 55
星辰大少主
重庆oier
展开
-
板子:中国剩余定理(CRT)及扩展中国剩余定理
中国剩余定理简述主要是用在很多算法的扩展上面,如果mo数不是素数,那么很多算法会失效,所以就把它分解质因数然后按照中国剩余定理合并即可。本人现在不打算管证明,只需要有结论。算法过程设余数为c[i],模数为m[i],令M为m[i]之和 那么最终答案就是c[i](M/m[i]) inv((M/m[i]),m[i])之和modM 解是唯一的,而且由于每个mod都m个不同...原创 2018-03-23 20:20:15 · 723 阅读 · 0 评论 -
板子:压位高精度
typedef long long LL;struct bign{ static const int WIDTH=4; static const int BASE=10000; int len; int z[1010]; bign() { len=1; memset(z,0,sizeof(z)); } ...原创 2017-10-25 19:56:16 · 569 阅读 · 0 评论 -
板子:素数的判定以及整数的唯一分解定理
素数判定方法一:定义判定法bool isp(int n){ if(n<2)//0,1 不是素数 return 0; int m=sqrt(n+0.5); for(int i=2;i<=m;i++) if(n%i==0) return 0; return 1;} 性能分析 ...原创 2018-03-18 21:54:38 · 993 阅读 · 0 评论 -
板子:线性基
简述线性相关:可以通过一些元素异或出集合中其它元素。线性基的一些性质: - 线性基内所有元素线性无关 - 对于原集合任意元素异或的值域和线性基任意元素异或的值域相同 - 线性基的个数就是二进制下位的个数 - 线性基a[i]如果存在,则满足第i位是1,且前面的位都是0 不用太在意如何求出的线性基 一些操作最大值查询可以询问当前元素,只需要把ret改成当前元素即可最...原创 2018-04-08 23:17:50 · 335 阅读 · 0 评论 -
板子:原根
定义(并没有什么用)阶:设m>1,(a,m)=1,使得a^r=1(modn)成立的最小r,称为a对模m的阶。 原根:原根是一种数学符号,设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根。(其中φ(m)表示m的欧拉函数)——百度百科原根的性质g^1 mod m,g^2 mod m….g^(n-1) mod m都不同,并且答案恰好[1,m-1]一个答案一...原创 2018-03-14 21:22:32 · 341 阅读 · 0 评论 -
板子:欧拉函数
欧拉函数欧拉函数的值fi(n)=1~n中和n互素的数个数其中fi(1)=1p为素数时,fi(p)=p-1一般计算方法(用容斥推来)fi(i)=i * ( ( p1-1)/p1) * …*(pn-1/pn),pi为i的质因数欧拉函数线性筛原理: 积性函数假设素数p是n的质因数,那么 - 如果p还能整除n/p, phi(n) = phi(n/p)*p - ...原创 2018-04-08 23:16:03 · 327 阅读 · 0 评论 -
板子:FFT/NTT
序言这篇文章是自己看的,外面有这么多优秀的博客多好。 这是我在复赛前那个暑假的一个噩梦。。。最终我还是花了一天时间搞出来了,这说明我天赋一般,虽然即使说明了我天赋一般也没有什么用。。该干啥还是得干啥。其实天赋没啥用的,真正的是方法什么的比较重要,以及平时各种能力的积累,最终体现在天赋上,也就是说天赋是可以改变的,天赋和智商差距应该还是蛮大的。我在说啥。。。。。 感谢很多优秀的博主带来的优秀...原创 2018-03-06 14:58:58 · 424 阅读 · 0 评论 -
板子:高斯消元
原理简述大概就是模拟手工消元吧用法大概还是推了公式然后消元吧,其中比较特别的有matrixTree定理还有线性基。行列式求法对于一个矩阵进行高斯消元最终案为(-1)^S*(主对角线之积),其中S位行与行之间交换的次数matrixTree定理用于一张图的生成树计数问题理论基于基尔霍夫(Kirchhoff)矩阵,但是这里不去证明了: 介绍两个矩阵: ...原创 2018-04-08 23:13:23 · 877 阅读 · 0 评论 -
板子:卢卡斯定理
卢卡斯算法原理用于求大组合数c(n,m)%mod=C(n%mod,m%mod)*C(n/mod,m/mod)%mod代码递归版LL fac[mod+105],inv[mod+105];void getInv(){ fac[0]=fac[1]=inv[1]=1; for(int i=2;i<mod;i++) { ...原创 2018-03-23 22:50:43 · 749 阅读 · 0 评论 -
板子:离散对数、BSGS及其算法
离散对数求最小的r使得a^r=b(mod p)成立如果在没有p的时候,r=log(a,b),是个对数因为有mod,所以叫做离散对数。如何求离散对数第一种方法是暴力找r,不多讲了。下面的方法不怎么讲证明,只管照着步骤弄就行了,以后补证明吧。BSGSBaby step Giant step,中文名叫做大步小步法,和它的过程很有关联。如果P是素数:因为如果...原创 2018-04-09 22:36:37 · 817 阅读 · 0 评论