随笔分类 - 数学
积性函数 和 狄利克雷卷积
摘要:积性函数 概念 数论函数 定义域为正整数的函数称为数论函数。 积性函数 对于数论函数 ,若任意互质的 都有 ,则称 是积性函数。 完全积性函数 对于数论函数 ,若任意 都有 ,则称 是完全积性函数
博弈论 _ SG函数
摘要:定义 SG函数是指:在有向图中,对于每个节点x,设从 出发共有条有向边(直接相连的边),分别达到节点, 定义为的后继节点的值构成的集合执行运算后的值 设集合S是一个非负整数集合,mex(S)就是求不属
数论 _ 扩展欧几里得算法
摘要:裴蜀定理 对于任意正整数a,b, 一定存在整数x, y,使得 因为为常数,令 则 扩展欧几里得算法就是用于求上面的x和y。 注意: x和y不唯一。 证明 因为 $$ gcd(a, b) = gcd(b
数学 _ 高斯消元 and 线性基
摘要:高斯消元 时间复杂度: 定义: 通过初等行变换 把 增广矩阵 化为 阶梯型矩阵 并回代 得到方程的解 作用: 适用于求解 包含n 个方程,n 个未知数的多元线性方程组 过程 例如该方程组 $$\left{\begin{matrix} a_{11}*x_{1}+a_{12}*x_{2}+
数学 _ 回归直线与最小二乘法
摘要:回归直线: 现有n组数据, 求一条最好地反映x与y之间的关系直线。 即我们要找出一条直线,使这条直线“最贴近 ”已知的数据点。 也就是求一个距离每个点的距离总和最短的一个直线 。 最小二乘法
数论 _ 同余
摘要:定义: 若整数a和整数b除以正整数m的余数相等,则称a,b模m同余。记为 例如: 同余数是3. 基本性质 在写性质之前,先得有种这样的思路。 如果$a\equiv b,
数论 _ 互质与欧拉函数
摘要:概念 互质 若gcd(a,b)=1 则称a与b互质。 欧拉函数 1~N 中与N 互质的数的个数被称为欧拉函数,记为。 若N根据算术基本定理分解为 则$$φ(n)=n\prod_{i=1}^{m}\left(1-\frac
数论 _ 质数和约数
摘要:质数 判定质数 试除法判断素数 复杂度: (每次一定是 ) 原理: 约数成对出现(完全平方数除外) 代码: bool is_prime(int x) { if (x < 2) return false; for (int i = 2; i <= x
分解质因数 | 求解最大质因数
摘要:前言 求解最大质因数分解质因数时只返回最大质因数 本文只讲了短除法分解质因数,算法时间复杂度为 。 还有一个**算法时间复杂度为**的算法,看这里吧Pollard Rho快速因数分解 基础知识: 任何一个正整数都必然可以表示为许
乘法逆元 | 分数 (小数) 取模
摘要:作用 比赛中大多数情况为了避免大整数运算,大多都会要求答案对一个数(大多是质数)取模。 题目中用到除法时 因为 ,此时就无法计算,需要用到乘法逆元 当题目遇到小数时 因为取模运算时对于整数来说的,所以无
数论_最大公约数 & 最小公倍数
摘要:最大公约数(gcd) 辗转相除法 算法核心: gcd(a,b) = gcd(b,a mod b) 证明: 公理 如果 能整除 ,且 能整除 ,那么 (x,y 是未知数) 也能整除 首先 $a \mod b=a - \lfloor \frac{a}
Gym 101873G - Water Testing - [皮克定理]
摘要:题目链接 原文 题意: 在点阵上,给出 N 个点的坐标(全部都是在格点上),将它们按顺序连接可以构成一个多边形,求该多边形内包含的格点的数目。 多边形的边不一定是水平或者竖直的,可以倾斜 题解: 首先由皮克定理( S 是多边形面积,a 是多边形
极角排序
摘要:极角 极角,指的就是以x轴正半轴为始边,逆时针转过的角,这个角的范围是[0,2π]。 极角排序就是按极角大小排序... 极角排序求法 利用atan2函数 atan2(y,x),表示(x,y)这个点与原点连线,这条线与x轴正半轴的夹角,这里的这个极角的范围是[−π,π]的,一二象限为正,三四象限为负。
判断质数 _ Miller Rabin算法
摘要:原文1 原文1 算法作用 判断一个数是否是素数 算法依据 费马小定理 如果P是素数,且整数a不是p的倍数有: 费马定理只是n是素数的必要条件。即费马定理不成立,n一定是合数;费马定理成立,n可能是素数。 点击查看证明 性质 1:个整数
快速幂算法+取模
摘要:快速幂 用途: 顾名思义,快速幂就是很快速的幂运算, 复杂度: O(logn) 实现原理: 规律: 如果指数是偶数,直接将底数平方,指数处以2; 如果指数是奇数,将底数平方,指数除以2,再乘上底数。 模板代码: ll qpow(ll a,ll b) //a是底数,b是指数 { ll ans=1;//
博弈论(附带 二进制)
摘要:补:二进制 转换 二进制转十进制:数字x基数^位次幂+ 例如:二进制数0101用十进制表示的数就是:1x2^0 + 0x2 ^1 + 1x2 ^2 + 0x2 ^3 = 5 十进制转二进制1.(短除法):除2取余(从下往上取) 十进制转二进制2.:与二进制转十进制相反 七种位运算 & :按位与(AN