![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法竞赛
孙孙_
专业划水
展开
-
线性基
线性基简介预备知识简介构建方法应用洛谷P3812(模板题)hdu3949(第K大异或值)BZOJ 2115(图中最小异或路径)BZOJ2844CF1100F(线性基+离散)2019牛客第四场B(线段树+线性基求交)简介预备知识向量空间(vector space):定义 (F,V,+,⋅(F, V, +, \cdot(F,V,+,⋅)为向量空间(vector space),其中 FFF 为域...原创 2019-08-03 11:07:48 · 282 阅读 · 1 评论 -
裴蜀定理(贝祖等式)
简介若 a,ba,ba,b 是整数,且 gcd(a,b)=dgcd(a,b)=dgcd(a,b)=d ,那么对于任意的整数 xxx , yyy , ax+byax+byax+by 都一定是 ddd 的倍数,特别地,一定存在整数xxx , yyy ,使 ax+by=dax+by=dax+by=d 成立。推论:aaa , bbb互质的充要条件是存在整数 xxx , yyy 使 ax+by=1ax...原创 2019-08-08 11:47:31 · 1563 阅读 · 0 评论 -
欧几里得/扩展欧几里得
欧几里得/扩展欧几里得欧几里得算法简介扩展欧几里得算法简介欧几里得算法简介欧几里得算法,也叫辗转相除,简称 gcdgcdgcd,用于计算两个整数的最大公约数.定义 gcd(a,b)gcd(a,b)gcd(a,b) 为整数 aaa 与 bbb 的最大公约数.引理:gcd(a,b)=gcd(b,amod  b)gcd(a,b)=gcd...原创 2019-08-06 18:34:48 · 124 阅读 · 0 评论 -
快速乘法
快速乘法普通版dls版__int128版在乘法计算 (a×b)%p(a\times b) \% p(a×b)%p 的结果时, a×b≥264a\times b\ge2^{64}a×b≥264(即unsigned long long范围) ,如果直接算,显然会溢出,这时,就可以用上快速乘法了 .普通版类似于快速幂,原理与快速幂类似,复杂度为 O(log2b)O(\log_2 b)O(log...原创 2019-08-25 20:02:27 · 339 阅读 · 0 评论 -
组合数取余
组合数取余使用C++库函数利用杨辉恒等式利用逆元即计算 Cnm%pC_n^m\%pCnm%p .当 n,mn, mn,m 比较大时,就可以爆掉long long的范围了(据大佬说大概 n=60n=60n=60 就会爆了). 本蒟蒻就不验证了,相信大佬的 . 其实你算个阶乘就可以了使用C++库函数可以使用一个众所周知的数学定理当 n,m≤50n,m\le50n,m≤50 时,使用C++库...原创 2019-08-28 21:58:44 · 1228 阅读 · 0 评论