数论数学
千杯湖底沙.
退役了。
OI就到此为止吧。
呃我又回来了
展开
-
数论——最大公约数和最小公倍数
声明部分代码源于《数学一本通》by东南大学出版社定义就是最大的那个公约数呗 我们来个稍微学术点的定义: 一般地,设a1,a2,…,aka_1,a_2,…,a_k是k个非零的整数,如果存在一个非零整数dd,使得d|a1,d|a2,…,d|akd|a_1,d|a_2,…,d|a_k,那么我们就说dd是a1,a2,…,aka_1,a_2,…,a_k的公约数。在公约数的集合里最大的,就是最大公约数。原创 2017-12-10 09:47:50 · 1057 阅读 · 0 评论 -
组合数学——容斥原理和错位排列
真的,学了组合数学你会克服公式恐惧症0.0深有体会……容斥原理设A1,A2,…,AnA1,A2,…,AnA_1,A_2,…,A_n为有限集合,用|Ai||Ai||A_i|表示集合AiAiA_i中的元素个数那么有这样的结论: |A1∪A2∪…∪An|=∑i=1n|Ai|−∑1≤i<j≤n|Ai∩Aj|+∑1≤i<j<k≤n|Ai∩Aj∩Ak|−…+(−1)n−1|A1∩A...原创 2018-02-27 18:38:51 · 2344 阅读 · 0 评论 -
概率和期望
(在此鸣谢yty提供故事的人物材料)引子概率是一个玄学的东西 。有个认知方面的误区就是,各位oier在小学和初中的时候接触到的概率都是一个叫做“古典概率”的东西,这是很只是概率这一个大旗帜下的一个小喽啰,真正的概率水深着呢。先讲个故事吧(about Pascal & Fermat)by《数学一本通》yty是hh的基友,有一天,yty跟hh说,他对赌博饥渴难耐,hh很无奈,只能陪yty进行了一场赌博。原创 2017-11-02 14:31:23 · 12752 阅读 · 7 评论 -
AHOI2001 HLOJ419 质数和分解
题面题目描述 任何大于 1 的自然数n都可以写成若干个大于等于2且小于等于n的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。 例如,9 的质数和表达式就有四种本质不同的形式: 9=2+5+2=2+3+2+2=3+3+3=2+7。 这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中 参加和运算的各个数的位置而直接得到另一个表达式。...原创 2018-03-07 18:31:13 · 436 阅读 · 0 评论 -
复数——概念和代数运算
复数的引入追根求源,最初是为了求解没有实数根的二次方程。例如求解 x2+1=0x2+1=0x^2+1=0 这个由实数组成的方程,显然没有实数根。 所以复数集可以看成实数集合的一个自然扩充。 首先引入一个“新数”iii。使它满足 i2=−1i2=−1i^2=-1 也就是说iii是x2+1=0x2+1=0x^2+1=0 的解。 我们再给复数定义: 形如z=a+biz=a+biz=...原创 2018-03-25 08:42:56 · 22428 阅读 · 2 评论 -
矩阵
2018.3.25英才班数学老师授课矩阵专题行列式三阶行列式多阶行列式矩阵矩阵数乘矩阵乘法秩逆矩阵求逆矩阵矩阵的幂举例求解AX=B2018.3.25英才班数学老师授课矩阵专题行列式行列式代表一个运算结果和运算过程。 例如一个二阶行列式 [acbd][abcd] \begin{bmatrix} a ...原创 2018-03-25 10:31:04 · 504 阅读 · 0 评论 -
向量
2018.3.25英才班数学老师授课向量专题向量乘点积a→⋅b→=|a→||b→|cosθa→⋅b→=|a→||b→|cosθ\overrightarrow a \cdot \overrightarrow b=|\overrightarrow a||\overrightarrow b|\cos \theta如果a→(x1,y1,z1)a→(x1,y1,z1)\ov...原创 2018-03-25 10:50:11 · 215 阅读 · 0 评论 -
导数
导数导数描述了一个函数的变化率。 很显然,导数可能也是一个函数。 简单来说,一个函数的导数就是这个函数图像某时刻的斜率。求导公式求导公式很简单,令原函数为f(n)f(n)f(n),那么 导数就是: [f(n)]′=limΔx→0f(x+Δx)−f(x)Δx[f(n)]′=limΔx→0f(x+Δx)−f(x)Δx[f(n)]'=\lim_{\Delta x\to 0}\fr...原创 2018-04-02 19:09:25 · 1330 阅读 · 1 评论 -
组合数学——组合数初步
组合数组合的意义: 从n个物品中随意取出r个物品(都是不可重复的)的方案数()。记作CrnCnr。 计算公式是Crn=n!r!×(n−r)!Cnr=n!r!×(n−r)!一些组合数的基本公式Crn=Cn−rnCnr=Cnn−rCrn=Crn−1+Cr−1n−1Cnr=Cn−1r+Cn−1r−1C0n+C1n+…+Cnn=2n(二项式定理)Cn0+Cn1+…+Cnn=2n(二项式...原创 2018-03-28 20:24:54 · 499 阅读 · 0 评论 -
组合数学——大组合数的计算
组合数公式Crn=n!r!×(n−r)!Cnr=n!r!×(n−r)!方法一——重数计算法我们采用这个方法就要计算出每一个素数在n!、r!、(n−r)!n!、r!、(n−r)!出现的个数。 我们直接给出公式 一个素数pp在n!n!中出现的个数是n/p+n/p2+n/p3…n/p+n/p2+n/p3…另外,关于任意的n可以通过递推预处理出来。方法二——递推Crn=Crn−1+...原创 2018-03-28 20:49:15 · 1544 阅读 · 0 评论 -
HLOJ436 添加括号
题面题目描述 给定一个正整数序列a(1),a(2),…,a(n),(1<=n<=20) 不改变序列中每个元素在序列中的位置,把它们相加,并用括号记每次加法所得的和,称为中间和。 例如: 给出序列是4,1,2,3。 第一种添括号方法: ((4+1)+(2+3))=((5)+(5))=(10) 有三个中间和是5,5,10,它们之和为:5+5+10=20 第二种添括号方法 (4+((...原创 2018-04-19 21:19:48 · 320 阅读 · 0 评论 -
HLOJ489 bzoj1087 状压例题3 互不侵犯的king
题面题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 输入格式 只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N) 输出格式 一行,一个整数,表示答案。题解还是状态压缩裸题。 f[i][j][k]代表第i...原创 2018-05-16 21:24:31 · 168 阅读 · 0 评论 -
HLOJ#483 光棍组织
题面题目描述 MM 虽然一辈子只要一个,但是也得早点解决。于是,n 个光棍们自发组成了一个光棍组织 (ruffian organization,By Wind 乱译)。现在,光棍们打算分成几个小组,并且分头为 找 MM 事 业做贡献(For example:searching,hunting……By Wind 乱译)。 对于这 n 个光棍的任意一个组合,都有一个被称为“和谐度”的东西,现在...原创 2018-05-23 18:55:41 · 337 阅读 · 0 评论 -
[树状数组优化DP] HLOJ539. 人品累加和
题解题目描述 人品是必不可少的,人品还是守恒的。每个人的人品都是不同的,并且有正的(选择题可以用骰子全过),也有负的。 海亮高级中学有n (1&lt;=n&lt;=100,000)(1&lt;=n&lt;=100,000)(1 Ai(−10,000&lt;=Ai&lt;=10,000).Ai(−10,000&lt;=Ai&lt;=10,000).A_i(-10,000 Ai原创 2018-05-28 18:43:00 · 299 阅读 · 0 评论 -
组合数学——计数原理和计数公式
加法原理和乘法原理加法原理是分类,乘法原理是分步。这个不用多解释了。无重复的排列组合排列从nnn个不同元素中取m(m≤n)m(m≤n)m(m\leq n)个不同的元素,按照一定的顺序排成一列,叫做从nnn个不同元素取出的一个排列。 这个排列中没有重复元素,所以叫无重复的排列。记作AmnAnmA_n^m或PmnPnmP_n^m。 明显可以得到计算公式: Pmn=n(n−...原创 2018-02-26 19:30:25 · 4387 阅读 · 0 评论 -
《算法导论》学习笔记——扩展欧几里得原理
扩展欧几里得算法的原理扩展欧几里得算法即欧几里得算法的一个变形。我们先来看《算法导论》上的一段伪代码。EXTENDED-EUCLIDif b==0return(a,1,0)else(d_,x_,y_)=EXTENDED-EUCLID(b,a mod b)(d,x,y)=(d_,y_,x_-round(a/b)*y_)return (d,x,y)我们可以发现递归到最后是求出原创 2018-02-05 13:26:13 · 353 阅读 · 0 评论 -
《算法导论》学习笔记——如何证明有无穷多个素数
证明的定理在自然数集合中,素数有无穷多个。证明假设我们已知这么几个素数p1,p2,p3……pn'>p1,p2,p3……pnp1,p2,p3……pnp_1,p_2,p_3……p_n,我们需要证明的是已知这些素数能推出第n+1'>n+1n+1n+1个素数,那么数学归纳法就可以证明有无穷多个素数了。 我们构造一个新数d=p1×p2×p原创 2018-02-05 12:34:05 · 1033 阅读 · 0 评论 -
数论学习笔记 欧拉函数(一些性质和运用)+杜教筛
本文应sharpland男神要求转载一下这位大佬的欧拉函数博客!! 原文传送门定义在数论中,对正整数n,欧拉函数是小于等于n的数中与n互质的数的数目。并且用符号φ(n)\varphi(n) 表示一个整数的欧拉函数。例如φ(8)=4\varphi(8)=4。φ(1)=1\varphi(1)=1。一些欧拉函数的性质性质一对于一个质数n,φ(n)=n−1\varphi(n)=n-1。 证明:因为n是质转载 2017-12-03 16:47:37 · 510 阅读 · 0 评论 -
数论——同余
定义同余,就是两个整数a,ba,b对同一个整数pp进行模运算,所得的余数相同,那么说这两个整数a,ba,b关于pp同余。 我们能够发现,一旦两个整数a,ba,b关于pp同余,那么他俩的差就能够被pp整除。也就是a−b=m×k(k∈Z)a-b=m\times k(k∈Z)相关概念同余类如果在模nn意义下,a,ba,b同余,那么a,ba,b就属于同一个剩余类。 例如,奇数就是一原创 2017-12-12 19:00:10 · 2999 阅读 · 0 评论 -
数论——整除
整除和同余是数论中的基础知识。 【flag】博主想要写一套数论整合博客,此博客是第一篇。声明本系列博客中提到的数都是整数,所用的字母除特别申明以外也都表示整数。整除设有a,ba,b两个数,且满足b≠0b≠0,如果存在一个数cc使得a=bca=bc,则我们称之为bb整除aa,记作b|ab|a,显然bb是aa的一个约数(因子),而称aa为bb的一个倍数。如果不存在上述的数cc,我原创 2017-12-04 19:40:43 · 1226 阅读 · 1 评论 -
数论——中国剩余定理
含义中国剩余定理: 设m1,m2,…,mkm_1,m_2,…,m_k是kk个两两互质的正整数,Mi=Mmi(i=1,2,3,…,k),b1,b2,…,bkM_i=\frac M{m_i}(i=1,2,3,…,k),b_1,b_2,…,b_k为任意整数,则同余式组 x≡b1(modm1),…,x≡bk(modmk)x\equiv b_1\pmod {m_1},…,x\equiv b_k\pmod{原创 2017-12-13 21:03:17 · 325 阅读 · 0 评论 -
数论——(扩展)欧几里得算法辨析
欧几里得算法欧几里得算法链接:传送门 欧几里得算法就是我们通常说的“辗转相除法”inline int gcd(int a,int b){ return b==0 ? gcd(y,x%y);}扩展欧几里得扩展欧几里得是用来求:已知(a,b)(a,b)(a,b)时,求解一组(p,q)(p,q)(p,q),使得p×a+q×b=gcd(a,b)p×a+q×b=gcd(...原创 2017-12-12 20:36:42 · 534 阅读 · 0 评论 -
数论——斐波那契练习题一——斐波那契中的gcd
题面题目描述对于Fibonacci数列:1,1,2,3,5,8,13……大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少? 输入输出格式 输入格式: 两个正整数n和m。(n,m<=10^9) 注意:数据很大输出格式:Fn和Fm的最大公约数。 由于看了大数字就头晕,所以只要输出最后的8位数字就可以了。输入输出样例输入样例#1: 复制 4 7 输出样例原创 2017-12-14 20:21:51 · 1260 阅读 · 0 评论 -
数论——斐波那契练习题二——斐波那契变式
题面题目描述定义一个数列: f(0)=a,f(1)=b,f(n)=f(n−1)+f(n−2)f(0)=a,f(1)=b,f(n)=f(n−1)+f(n−2)f(0)=a,f(1)=b,f(n)=f(n−1)+f(n−2)f(0) = a, f(1) = b, f(n) = f(n - 1) + f(n - 2) f(0)=a,f(1)=b,f(n)=f(n−1)+f(n−2)f(0)=a,f(1原创 2017-12-14 20:40:51 · 778 阅读 · 0 评论 -
数论——逆元
定义扩展欧几里得求逆元费马小定理求逆元线性递推算法对数级算法求逆元定义若a×x≡1(modb)a\times x\equiv 1\pmod b且a,ba,b互质,我们就称xx为aa的逆元,记作a−1a^{-1}。 下面给出逆元的几种求法。扩展欧几里得求逆元扩展欧几里得在这里。 因为a×x≡1(modb)a\times x\equiv 1\pmod b,所以a×x=b×y+1a\times原创 2017-12-13 18:53:37 · 666 阅读 · 0 评论 -
数论——素数
判定素数穷举法判定bool check(int k){ if(k==0||k==1)return false; for(int i=2;i<=sqrt(k);i++) if(k%i==0) return false; return true;}埃氏筛法void make_primetable(int n){ memset(is_prime,tru原创 2017-12-16 19:08:58 · 331 阅读 · 0 评论 -
数论——斐波那契数列
定义斐波那契数,又称黄金分割数列。 递推公式是:F(n)=F(n−1)+F(n−2)F(n)=F(n-1)+F(n-2).推导通项公式设常数rr和ss,使得F(n)−r×F(n−1)=s×[F(n−1)−r×F(n−2)]F(n)-r\times F(n-1)=s\times [F(n-1)-r\times F(n-2 )] 所以r+s=1,−r×s=1r+s=1,-r\times s=1 在原创 2017-12-14 20:17:36 · 1108 阅读 · 0 评论 -
《算法导论》学习笔记——裴蜀等式及其扩展的证明
裴蜀等式及其扩展裴蜀等式是exgcdexgcd的骨髓,是建立在gcdgcd,它保证了exgcdexgcd的有解性。 裴蜀等式 存在让ax+by=gcd(a,b)ax+by=gcd(a,b)的x,yx,y; 扩展 gcd(a,b)gcd(a,b)是{ax+by:x,y∈Z}\{ax+by:x,y∈Z\}的最小正元素。证明先设ss是这个集合中最小正元素。 设q=⌊as⌋q=\lfloor \f原创 2017-12-28 08:02:46 · 752 阅读 · 0 评论 -
数论——Baby Step Giant Step大步小步算法
bsgs算法Baby Step Giant Step算法,简称BSGS算法,也称为大步小步算法.解决对象离散对数:当x≡Gk(modm)x≡Gk(modm)x\equiv G^k\pmod m时,logG(x)≡k(modϕ(m))logG(x)≡k(modϕ(m))log_G(x)\equiv k\pmod{\phi(m)}。此处的logG(x)logG(x)log_G(x)是x...原创 2017-12-19 19:42:42 · 3690 阅读 · 0 评论 -
《算法导论》学习笔记——GCD定理的证明
GCD定理GCD定理是欧几里得算法的灵魂。欧几里得算法就是我们以前说的“辗转相除法”。 GCD定理: gcd(a,b)=gcd(b,a%b)'>gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a\%b)证明我们的证明就是要证明上面两者相互能整除。 设gcd(a,b)=d'>gcd(a,b)=dgcd(a,b)原创 2018-02-04 13:43:10 · 531 阅读 · 0 评论 -
[树状数组优化DP]BZOJ 2131 免费的馅饼
2131: 免费的馅饼Time Limit: 10 Sec Memory Limit: 259 MB Description Input 第一行是用空格隔开的二个正整数,分别给出了舞台的宽度W(1到10^8之间)和馅饼的个数n(1到10^5)。 接下来n行,每一行给出了一块馅饼的信息。由三个正整数组成,分别表示了每个馅饼落到舞台上的时刻t[i](1到10^8秒),掉到舞台上的格子...原创 2018-05-28 20:30:41 · 182 阅读 · 0 评论