数论
文章平均质量分 86
Hypoc_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
利用powerful number求积性函数前缀和小结
介绍powerful number指的是,一个数质因数分解后,每个质因子的指数 ≥2\geq 2≥2,那么这个数就叫powerful number。这种数有个很好的性质:nnn 以内的powerful number数量是 n\sqrt nn 级别的。于是我们往往可以用这个性质将求前缀和的复杂度变成这个级别。利用这个东西,我们可以很方便地求一些积性函数的前缀和。正题考虑一般情况,对于积性函数 f(x)f(x)f(x),我们构造一个积性函数 g(x)g(x)g(x),满足:ggg 的前缀和很好求原创 2021-03-17 10:35:53 · 355 阅读 · 0 评论 -
Min-Max容斥小结
介绍对于一个集合 U={a1,a2,a3,...,an}U=\{a_1,a_2,a_3,...,a_n\}U={a1,a2,a3,...,an},我想要知道其中的 max\maxmax,但是很不好求,那么就可以通过Min-Max容斥转化为求出它所有子集中的 min\minmin。正题一切的魔术来源于这个简单的式子:max{U}=∑S⊆U(−1)∣S∣+1min{S}\max\{U\}=\sum_{S\subseteq U} (-1)^{|S|+1} \min\{S\}max{U}原创 2021-03-05 16:41:49 · 877 阅读 · 1 评论 -
二次剩余小结
介绍对于一个正整数 ddd,如果存在一个 xxx,满足 x2≡d(modp)x^2\equiv d \pmod px2≡d(modp),那么称 ddd 是模 ppp 的二次剩余。判断下面只讨论 ppp 是奇素数的情况。勒让德符号定义勒让德符号为:(np)={1 n是模p的二次剩余−1 n不是模p的二次剩余0 &n原创 2020-06-19 11:24:14 · 373 阅读 · 1 评论 -
泰勒展开与牛顿迭代小结
泰勒展开当年,泰勒看到了一个奇妙的函数,要计算某个点的值十分困难,于是他想到:能不能构造一个类似的函数,但是容易求出某个点的值呢?于是,他就发明出了泰勒展开,即对于函数 f(x)f(x)f(x),可以求出另一个用多项式表示函数 g(x)g(x)g(x),使得 g(x)g(x)g(x) 近似于 f(x)f(x)f(x)。怎么构造呢?泰勒想到,要让这两个函数近似,那么得有一个点是重合的吧,不妨假设为 x=0x=0x=0 时 f(x)f(x)f(x) 与 g(x)g(x)g(x) 重合,那么此时 g(x)=原创 2020-05-22 16:58:47 · 2331 阅读 · 0 评论 -
第一类斯特林数 / 第二类斯特林数 / 贝尔数 小结
第一类斯特林数有 nnn 个不同的小球,将它们串成 mmm 条项链,有多少种不同的方案?第一类斯特林数的表示方法为 [nm]\left[\begin{matrix}n\\m\end{matrix}\right][nm] 或 S(n,m)S(n,m)S(n,m),表示 nnn 个不同的小球串成 mmm 条项链的方案数,考虑第 nnn 个小球的位置,要么接在前面 n−1n-1n−1 个小球中的某一个的后面,要么就新开一条项链,那么递推式为:S(n,m)=(n−1)S(n−1,m)+S(n−1,m−1原创 2020-05-15 09:14:02 · 877 阅读 · 0 评论 -
多重集排列组合问题
定义多重集是指可以包含重复元素的广义集合。排列问题现在你有一个形如 {a1×b1,a2×b2,...,ak×bk}\{a_1\times b_1,a_2 \times b_2 , ...,a_k \times b_k\}{a1×b1,a2×b2,...,ak×bk} 的多重集,其中 x×yx\times yx×y 表示这个集合中有 xxx 个 yyy,现在问这个集合有多少种不同...原创 2019-10-31 15:33:25 · 2073 阅读 · 0 评论 -
扩展中国剩余定理
废话这玩意跟中国剩余定理没有半毛钱关系,所以所以没学过中国剩余定理的完全不用担心。当然还是建议先学一学中国剩余定理。介绍这是一个用来求形如下面这样的同余方程组的解的算法:{x≡a1(modm1)x≡a2(modm2) ⋮x≡an(modmn)\begin{cases}x \equiv a_1 \pmod {m_1}\\x \equiv a_2 \pmod {m...原创 2019-10-22 12:33:22 · 239 阅读 · 0 评论 -
卢卡斯定理
介绍这是个用来求解大组合数取模意义下的值的算法。要求取模的数是个质数。算法卢卡斯定理就是这样一条柿子:(nm)≡(n mod pm mod p)(n÷pm÷p)(modp){n\choose m}\equiv{n \bmod p \choose m \bmod p}{n\div p \choose m\div p} \pmod p(mn)≡(mmodpnmodp)(m÷pn÷p...原创 2019-10-21 15:58:03 · 580 阅读 · 0 评论 -
中国剩余定理
介绍是用来求下面这样的同余方程组的解的:{x≡a1(modm1)x≡a2(modm2) ⋮x≡an(modmn)\begin{cases}x\equiv a_1 \pmod {m_1}\\x\equiv a_2 \pmod {m_2}\\~~\vdots\\x\equiv a_n \pmod {m_n}\\\end{cases}⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x≡a...原创 2019-10-20 19:47:39 · 303 阅读 · 0 评论 -
数论基础
根据心情在这里收录一些数论的基础知识。这应该是对数论小白极友好的数论入门博客了。随时更新。文章目录基础中的基础排列组合全排列组合数卡特兰数同余取模运算性质同余运算性质逆元存在性判断费马小定理证明应用快速幂&快速乘欧几里得算法贝祖定理扩展欧几里得算法欧拉定理线性方程高斯消元质数判断是否为质数暴力费马小定理Miller-Rabin 算法二次探测定理素数筛法暴力筛优化的暴力筛埃氏筛欧拉筛唯...原创 2019-10-18 14:27:24 · 1928 阅读 · 0 评论 -
组合数详解
介绍组合数,也就是形如 CnmC_n^mCnm 这样的东西。意义有很多,最经典的是:表示在 nnn 个不同的物品里面选 mmm 个物品的方案数。下面就以这个意义来讲递推式和通项式。递推式Cnm=Cn−1m−1+Cn−1mC_n^m=C_{n-1}^{m-1}+C_{n-1}^mCnm=Cn−1m−1+Cn−1m从 nnn 个里面选 mmm 个,那么对于第 nnn 个物品,有两种...原创 2019-10-17 19:27:08 · 4438 阅读 · 0 评论 -
范德蒙恒等式
这篇博客比较水,因为这个东西实在是没什么好讲的。等式如下:Cn+mk=∑i=0kCni×Cmk−iC_{n+m}^k=\sum_{i=0}^k C_n^i \times C_m^{k-i}Cn+mk=i=0∑kCni×Cmk−i证明也很简单:考虑右边的柿子的意义——从 nnn 里面拿 iii,再从 mmm 里面拿 k−ik-ik−i 个物品,那么得到的总物品数恒定为 kkk,但...原创 2019-10-17 18:24:01 · 1965 阅读 · 0 评论 -
二项式反演小结
介绍二项式反演也就是这样一个柿子:f[n]=∑i=0n(−1)i(ni)g[i]⇔g[n]=∑i=0n(−1)i(ni)f[i]f[n]=\sum_{i=0}^n (-1)^i {n\choose i} g[i]\Leftrightarrow g[n]=\sum_{i=0}^n (-1)^i {n\choose i} f[i]f[n]=i=0∑n(−1)i(in)g[i]⇔g[n]=i...原创 2019-10-15 14:53:44 · 281 阅读 · 0 评论 -
卡特兰数详解
介绍这是一类组合数问题的计算方法,在省选等各大考场中身影频现。这类组合数问题可以千变万化,各种扩展,所以,作为一名合格的OIer,是不能不学这个优秀的东西的。柿子们首先摆一下卡特兰数的计算公式:递推式: h(n+1)=∑i=0nh(i)h(n−i)h(n+1)=\sum\limits_{i=0}^n h(i)h(n-i)h(n+1)=i=0∑nh(i)h(n−i)通项公式1: h(n...原创 2019-10-13 20:40:23 · 5842 阅读 · 0 评论 -
欧几里得算法
       欧几里得算法,又称辗转相除法,是一种用于求两个正整数的最大公约数的算法。       具体的原创 2018-11-15 13:16:59 · 265 阅读 · 0 评论 -
扩展欧几里得算法——exgcd
扩展欧几里德算法是用来在已知a,ba,ba,b求解一组x,yx,yx,y,使它们满足贝祖(裴蜀)等式: ax+by=gcd(a,b)=dax+by = gcd(a, b) =dax+by=gcd(a,b)=d关于贝祖等式试着来搞一下ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)先考虑一下特殊情况,如果b=0b=0b=0,那么gcd(a,b)=agc...原创 2018-11-16 14:01:20 · 2139 阅读 · 2 评论 -
矩阵乘法——矩阵快速幂
矩阵乘法怎么乘设让矩阵a乘矩阵b得到矩阵c,那么c的第i行第j个元素的值就等于a的第i行与b的第j列上对应元素相乘的和。举个例子:(1234)∗(4321)=(abcd)\left(\begin{array}{}1 & 2 \\3 & 4\end{array}\right)*\left(\begin{array}{}4 & ...原创 2019-05-14 13:10:51 · 2267 阅读 · 0 评论 -
高斯消元
用途高斯消元,顾名思义,是用来消元的。它用来消线性方程组中的元。实现其实,高斯消元的本质就是我们小学学的加减消元和代入消元。由于其做法之暴力,它的时间复杂度是O(n3)O(n^3)O(n3)的。具体做法:假设我们现在有n个方程,含有n个未知数,用它们的系数和值造一个矩阵,就是这个样子的:(a1,1a1,2a1,3⋯a1,nw1a2,1a2,2a2,3⋯a2,nw2⋮⋱an,1an,2...原创 2019-07-08 16:37:18 · 281 阅读 · 0 评论 -
莫比乌斯反演
莫比乌斯函数μ(n)={1 n=1(−1)k &nbs...原创 2019-08-28 21:36:36 · 378 阅读 · 1 评论 -
洛谷 P3935 Calculating 题解 & 因数个数定理
题目传送门题目大意: 题目描述已经很简洁了,于是乎我就可以高枕无忧地不写了~前置知识——因数个数定理描述: 将一个数xxx质因数分解后,可以表示为 x=p1c1p2c2...pkckx=p_1^{c_1}p_2^{c_2}...p_k^{c_k}x=p1c1p2c2...pkck,那么xxx的因数个数就是 ∏i=1k(ci+1)\prod\limits_{i=1}^k(c_i+1...原创 2019-08-30 09:35:47 · 474 阅读 · 0 评论 -
欧拉函数与欧拉定理小结
欧拉函数定义φ(n)\varphi(n)φ(n)表示小于等于nnn的正整数中与nnn互质的数的个数。特别的,φ(1)=1\varphi(1)=1φ(1)=1。通式将nnn质因数分解后,表示为:n=p1c1p2c2...pkckn=p_1^{c_1}p_2^{c_2}...p_k^{c_k}n=p1c1p2c2...pkck那么通式为:φ(n)=n∏i=1k(1−1pi)\...原创 2019-08-31 09:12:33 · 530 阅读 · 0 评论 -
狄利克雷卷积小结
前置知识因为狄利克雷卷积很多时候用来卷积性函数,所以要明白积性函数是啥。积性函数: 对于gcd(n,m)=1\gcd(n,m)=1gcd(n,m)=1,有 f(nm)=f(n)×f(m)f(nm)=f(n)\times f(m)f(nm)=f(n)×f(m)。完全积性函数: 对于任意 n,mn,mn,m,有 f(nm)=f(n)×f(m)f(nm)=f(n) \times f(m)f(nm...原创 2019-08-31 17:42:08 · 2396 阅读 · 0 评论 -
因数个数函数(d)的一点笔记
ddd ——因数个数函数。这个东西是个积性函数,证明在这里面。这个东西也是可以线性筛的。原创 2019-09-02 20:06:29 · 1431 阅读 · 1 评论 -
杜教筛小结
前置芝士狄利克雷卷积进入正题现在要求一个函数 fff 的前缀和 SSS。但是往往连 O(n)O(n)O(n) 的算法都满足不了毒瘤的出题人,所以需要一个更快的做法,于是时间复杂度 O(n23)O(n^{\frac 2 3})O(n32) 的杜教筛出现了。具体做法:考虑有两个积性函数 g,hg,hg,h,满足 f∗g=hf*g=hf∗g=h。...原创 2019-09-10 16:55:09 · 233 阅读 · 0 评论 -
裴蜀定理
       先说一下什么是裴蜀定理吧在数论中,裴蜀定理是一个关于最大公约数(或最大公约式)的定理,裴蜀定理得名于法国数学家艾蒂安·裴蜀。 ——引自百度百科       定理的具体内容:若a,b是整数,且gcd(a原创 2018-11-09 11:22:47 · 25437 阅读 · 6 评论
分享