
数论
文章平均质量分 84
明天见A
这个作者很懒,什么都没留下…
展开
-
狄利克雷卷积
积性函数∀gcd(a,b)=1\forall gcd(a,b)=1∀gcd(a,b)=1互质,f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b),则我们称f(x)f(x)f(x)是一个积性函数凡是积性函数,都可以用线性筛法来求原创 2021-06-17 20:36:06 · 555 阅读 · 0 评论 -
博弈论与sg函数
nim游戏nim游戏给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。结论:所有石子进行异或运算,结果为0则为必败态,不为0则为必胜态证明:假设n堆石子分别有a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an个,他们进行异或运算之后结果x=a1⊕a2⊕...⊕anx=a_1\oplus a_2\oplus ...\oplus a_n原创 2021-06-07 10:00:12 · 182 阅读 · 0 评论 -
线性基笔记
线性基在线性代数中,对于向量组a1,a2,...,ama_1,a_2,...,a_ma1,a2,...,am我们把其张成空间的一组线性无关的基称为该向量的线性基,用途快速查询一个数是否可以被一堆数异或出来快速查询一堆数可以异或出来的最大/最小值快速查询一堆数可以异或出来的第k大值性质原数列里的任何一个数都可以通过线性基里的数异或表示出来线性基里任意一个子集的异或和都不为0一个数列可能有多个线性基,但是线性基里数的数量一定唯一,而且是满足性质一的基础上最少的证明性质二:如果原创 2021-06-02 20:12:35 · 113 阅读 · 0 评论 -
欧拉定理与扩展欧拉定理
欧拉函数欧拉函数的求法等请看这里,本篇只讲述推论本文大部分来自知乎Pecco,供自己复习使用1、若ppp是质数则φ(pn)=pn−1(p−1)\varphi (p^n)=p^{n-1}(p-1)φ(pn)=pn−1(p−1)在不大于pnp^{n}pn的正整数中,只有p、2p、3p、...、p∗pn−1p、2p、3p、...、p*p^{n-1}p、2p、3p、...、p∗pn−1总共pn−1p^{n-1}pn−1个所以φ(pn)=pn−pn−1=pn−1(p−1)\varphi (p^n)=p^n原创 2021-06-01 20:41:11 · 204 阅读 · 0 评论 -
中国剩余定理
前置知识:求逆元中国剩余定理 (Chinese Remainder Theorem, CRT) 可求解如下形式的一元线性同余方程组(其中 n1,n2,n3,...,nkn_{1},n_{2},n_{3},...,n_{k}n1,n2,n3,...,nk 两两互质):{x≡a1(mod n1)x≡a2(mod n2)...x≡ak(mod nk)\left\{\begin{matrix}x\equiv a_{1}(mod\ n_{1})\\ x\equiv a_{原创 2021-05-29 17:28:28 · 124 阅读 · 0 评论 -
求逆元的三种方法
在数论中如果ab≡1 mod pab\equiv 1\ mod\ pab≡1 mod p,我们称a、b在模p的情况下互为乘法逆元。在取模运算中加减法和乘法都是封闭的即(a + b) % p = a % p + b % p(a - b) % p = a % p - b % pa ×\times× b % p = a % p ×\times× b % p但是遇到除法就麻烦了,除法运算对取模运算不封闭,且运算过程中会产生小数,于是就引入了逆元这个概念,a、b在原创 2021-05-29 17:06:22 · 2399 阅读 · 0 评论 -
BSGS、EXBSGS
大步小步算法英文名: baby-step gaint-step (BSGS) .该算法可在Θ(p)\Theta \left ( \sqrt{p} \right )Θ(p)的时间复杂度内求解ax≡b mod pa^{x} \equiv b\ mod\ pax≡b mod p,其中ppp是个质数,方程的解xxx满足0≤x≤ p0 \leq x \leq\ p0≤x≤ p令x=A⌈p⌉−Bx=A\left \lceil \sqrt{p} \ri原创 2021-05-29 11:47:22 · 208 阅读 · 0 评论 -
数论笔记1
质数1、质数的判定:试除法判定质数试除法判定质数//朴素写法,时间复杂度O(n)bool isprime(int n){ if(n<2) return false; for(int i = 2; i < n; ++ i) if(n % i == 0) return false; return true;}我们发现对于任何一个能整除n的数d,则n / d也能整除n所以我们只需要枚举到n / d即可原创 2021-03-23 16:19:32 · 372 阅读 · 0 评论