数论
文章平均质量分 89
Nekroz_
这个作者很懒,什么都没留下…
展开
-
【模板】拓展欧几里得算法
IdeaIdeaIdea拓展欧几里得算法是用来求已知 (a,b)(a,b)(a, b) 时,求解一组 (x,y)(x,y)(x, y) 使得 ax+by=gcd(a,b)ax+by=gcd(a,b)ax + by = \gcd(a,b) 。因为 gcd(a,b)=gcd(b,amodb)=gcd(b,a−⌊ab⌋b)gcd(a,b)=gcd(b,amodb)=gcd(b,a−⌊ab⌋b)\...原创 2018-07-11 17:34:35 · 438 阅读 · 0 评论 -
【数论】欧拉函数
欧拉函数:对正整数 nnn ,欧拉函数是小于等于 nnn 的数中与 nnn 互质的数的个数。欧拉函数又称 ϕϕ\phi 函数,例如 ϕ(8)=4ϕ(8)=4\phi(8) = 4 ,因为在小于 888 的数中,有 1,3,5,71,3,5,71, 3, 5, 7 与其互质。欧拉函数的三条性质:如果 nnn 为某一素数 ppp ,则: ϕ(p)=p−1ϕ(p)=p−1\phi(p) =...原创 2018-07-12 08:16:32 · 448 阅读 · 0 评论 -
【模板】乘法逆元
如果 ax≡1(modb)ax≡1(modb)ax \equiv 1 \pmod{b} 且 (a,b)=1(a,b)=1(a, b) = 1 ,则称 xxx 是模 bbb 意义下的 aaa 的逆元,记为 a−1a−1a^{-1}。逆元可以用来在计算 tamodbtamodb\frac{t}{a} \bmod b 时,转化为 ta−1modbta−1modbta^{-1} \bmod b 。...原创 2018-07-12 14:04:48 · 880 阅读 · 0 评论 -
【模板】卢卡斯定理
Lucas定理是用来求 CmnmodpCnmmodpC_n^m \bmod p 的值。其中:nnn, mmm 是非负整数,ppp 是素数。一般用于 n,mn,mn, m 很大而 ppp 很小或 n,mn,mn, m 不大且都大于 ppp 的情形。Lucas定理结论:Lucas(n,m,p)=C(nmodp,mmodp,p)∗Lucas(n/p,m/p,p)Lucas(n,m,p)=C(n...原创 2018-07-13 12:55:56 · 361 阅读 · 0 评论 -
【模板】BSGS & Extended BSGS
BSGS(Baby-Step-Giant-Step)算法,用来解决 Ax≡B(modC)(0≤x<C)Ax≡B(modC)(0≤x<C)A^x \equiv B \pmod{C}(0 \leq x < C) 这样的问题。具体讲BSGS算法之前,先介绍一下离散对数。在整数中,离散对数(英语:Discrete logarithm)是一种基于同余运算和原根的一种对数运算。简单来说,离...原创 2018-08-02 16:11:00 · 347 阅读 · 1 评论 -
【题解】BZOJ 2721 [Violet 5]樱花
传送门DescriptionDescriptionDescription求出有多少对 (x,y)(x,y)(x, y) 满足 1x+1y=1n!1x+1y=1n!\frac{1}{x} + \frac{1}{y} = \frac{1}{n!}SolutionSolutionSolution首先是对公式进行变形 1x+1y=1n!x⋅n!+y⋅n!=xyxy−x⋅n!−y...原创 2018-09-16 17:35:44 · 252 阅读 · 0 评论 -
【题解】BZOJ 2005 [Noi2010]能量采集
传送门DescriptionDescriptionDescription根据题目描述以及最基础的找规律(真的很基础),答案就是 ∑i=1n∑j=1m(2gcd(i,j)−1)=2∑i=1n∑j=1mgcd(i,j)−nm∑i=1n∑j=1m(2gcd(i,j)−1)=2∑i=1n∑j=1mgcd(i,j)−nm\sum_{i = 1}^{n} \sum_{j = 1}^{m}(2\gc...原创 2018-09-16 19:18:30 · 195 阅读 · 0 评论