随笔分类 -  学习笔记 / 数论

摘要:康拓展开用于求一个排列在所有排列中的排名。 也常用与哈希。 rank=i=1nsumai(ni)!,其中 sumai 表示在 i 之后的,且值比 ai 小的数的个数。 对于排名,一位一位进行考虑。 设当前考虑到第 i 位,比 ai阅读全文
posted @ 2022-11-20 21:43 半步蒟蒻 阅读(27) 评论(0) 推荐(1) 编辑
摘要:光速幂,在 O(n) 的时间复杂度内预处理,以 O(1) 的时间复杂度求幂,用于求解同一底数和模数,多次求幂。 假设底数为 x,模数为 p,首先预处理 x0,x1,x2...xn,再预处理 $x^0,x^{\sqrt n},x^{2\sqrt 阅读全文
posted @ 2022-11-20 16:15 半步蒟蒻 阅读(279) 评论(0) 推荐(3) 编辑
摘要:求解 axb(modp). 大步小步算法,BSGSbabystepgiantstep,要求 gcd(a,p)=1,可在 O(p) 时间复杂度内求解。 在 p<=1016 时没有大问题。 方程的解满足 0<=x<p. 令 $t=\ 阅读全文
posted @ 2022-11-20 15:41 半步蒟蒻 阅读(74) 评论(0) 推荐(1) 编辑
摘要:####Lucas定理 用于求解大组合数取模且模数为质数的情况。 定理,$\binom{n}{m}=\binom{\left \lfloor \frac{n}{p}\right \rfloor}{\left \lfloor \frac{m}{p}\right \rfloor}*\binom{n\mo 阅读全文
posted @ 2022-11-20 14:47 半步蒟蒻 阅读(75) 评论(0) 推荐(1) 编辑
摘要:中国剩余定理,ChineseRemainderTheorem,CRT,用于求解模数两两互质的一元线性同余方程组。 xa1(modn1) xa2(modn2) xak(modnk) 计算所有模数的积 n. 对于 阅读全文
posted @ 2022-11-20 12:09 半步蒟蒻 阅读(94) 评论(0) 推荐(1) 编辑
摘要:形如 axb(modn) 的方程称为线性同余方程,从区间 [0,n1] 中求解 x. 逆元求解。 假设 gcd(a,n)=1,两边同时乘上 a1 即可。 设 g=gcd(a,n),左侧始终可以 被 g 整除,若右侧不可则无解。 若右侧可以被 $ 阅读全文
posted @ 2022-11-20 08:49 半步蒟蒻 阅读(125) 评论(0) 推荐(1) 编辑
摘要:若线性同余方程 ax1(modb),则称 xamodb时的逆元,记作a1。 扩展欧几里得求逆元。 要求 gcd(a,b)=1. int exgcd(int a,int b,int&x,int&y){ if(!b)return x=1,y=0,a; 阅读全文
posted @ 2022-11-19 21:43 半步蒟蒻 阅读(39) 评论(0) 推荐(1) 编辑
摘要:裴蜀定理,又名贝祖定理。 对于整数 (a,b),一定存在整数 (x,y),满足 ax+by=gcd(a,b). 推广到多个式子也一样成立。 P4549 【模板】裴蜀定理 给定一个序列 ai,构造一个等长的序列 xi,使得 i=1naixi阅读全文
posted @ 2022-11-19 20:54 半步蒟蒻 阅读(240) 评论(0) 推荐(0) 编辑
摘要:欧拉函数 欧拉函数 ϕ(n) 表示小于等于 n 的和 n 互质的数的个数。 求一个数 n 的欧拉函数,设将 n 质因数分解后的质因数集合为 p1...m ,则 ϕ(n)=ni=1mpi1pi. inline 阅读全文
posted @ 2022-11-19 18:11 半步蒟蒻 阅读(78) 评论(7) 推荐(2) 编辑
摘要:数论分块 对于含有除法向下取整的式子,可以使用数论分块,将 ni 相同的数统一计算。 使式子 $\left \lfloor \frac{n}{i} \right \rfloor = \left \lfloor \frac 阅读全文
posted @ 2022-11-19 17:49 半步蒟蒻 阅读(21) 评论(0) 推荐(2) 编辑
摘要:最大公约数 欧几里得算法 对于两个数 a,b,设 a>b,当 a 时,答案为 b。 否则,设 a=bq+r,r<b,则 gcd(a,b)=gcd(b,a ,时间复杂度 O(logN) 递归写法 int gcd(int x,int y){ return 阅读全文
posted @ 2022-11-19 17:28 半步蒟蒻 阅读(204) 评论(3) 推荐(1) 编辑
摘要:积性函数 若函数 f(1)=1,并且对于 gcd(x,y)=1,f(xy)=f(x)f(y),则 f(i) 为积性函数。 若函数 f(1)=1,并且 f(xy)=f(x)f(y),则 f(i) 为完全积性函数。 除数函数,欧拉函数为积性函数。 判断单个素数 inline 阅读全文
posted @ 2022-11-19 16:48 半步蒟蒻 阅读(116) 评论(5) 推荐(2) 编辑

点击右上角即可分享
微信分享提示