数学章节总结

news/2025/10/2 21:35:23/文章来源:https://www.cnblogs.com/-lzxyl-/p/19124038

一、矩阵乘法

  • 介绍

一个 \(m \times n\)矩阵是一个由 \(m\)\(n\) 列元素排列成的矩形阵列。即形如:

\[A = \begin{bmatrix} a_{(1,1)} & a_{(1,2)} & \cdots & a_{(1,n)} \\ a_{(2,1)} & a_{(2,2)} & \cdots & a_{(2,n)} \\ \vdots & \vdots & \ddots & \vdots \\ a_{(m,1)} & a_{(m,2)} & \cdots & a_{(m,n)} \end{bmatrix} \text{} \]

假定矩阵中的元素 \(a_{(i,j)}\) 是整数(当然有时也可以矩阵套矩阵)。

两个大小分别为 \(m \times n\)\(n \times p\) 的矩阵 \(A, B\) 相乘的结果为一个大小为 \(m \times p\) 的矩阵。将结果矩阵记作 \(C\),则:

\[c_{(i,j)} = \sum_{k = 1}^{n} a_{(i,k)}\times b_{(k,j)} \text{\qquad($1 \le i \le m$, $1 \le j \le p$).} \]

而如果 \(A\) 的列数与 \(B\) 的行数不相等,则无法进行乘法。

可以验证,矩阵乘法满足结合律,即 \((A B) C = A (B C)\)

矩阵乘法不满足交换律,即两个不同的矩阵 \(A,B\)\(AB \ne BA\)

一个大小为 \(n \times n\) 的矩阵 \(A\) 可以与自身进行乘法,得到的仍是大小为 \(n \times n\) 的矩阵,记作 \(A^2 = A \times A\)。进一步地,还可以递归地定义任意高次方 \(A^k = A \times A^{k - 1}\),或称 \(A^k = \underbrace{A \times A \times \cdots \times A}_{k \text{ 次}}\)

特殊地,定义 \(A^0\) 为单位矩阵 \(I = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix}\),任何矩阵乘它的单位矩阵都等于它本身,单位矩阵类似于数乘里的 \(1\)

  • 矩阵快速幂

与整数的快速幂差不多。

\(A^k\),首先把 \(k\) 转成二进制,令 \(k=2^0\times x_0+2^1\times x_1+\cdots+2^t\times x_t\) ,则可将矩阵 \(A\)\(k\) 的每一个二进制位翻倍,当 \(x_i=1\) 时,把答案矩阵乘上 \(A\) 矩阵。

  • 时间复杂度:\(O(\log_2k)\)
inline node mul(node x,node y){node res;memset(res.w,0,sizeof res.w);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){for(int k=1;k<=q;k++){res.w[i][j]=(res.w[i][j]+1ll*x.w[i][k]*y.w[k][j]%mod)%mod;}}}return res;
}
inline node ksm(node x,int b){node ans=x;while(b){if(b&1) ans=mul(ans,a); a=mul(a,a); b>>=1;}return ans;
}

二、高斯消元

  • 介绍

    可以看这篇题解,讲得很详细~

    题解:P3389 【模板】高斯消元法

  • 高斯-约旦消元法

    题解:P3389 【模板】高斯消元法

  • 时间复杂度:\(O(n^3)\)

//普通高斯消元
void Gauss(int n){for(int i=1;i<=n;i++){int x=i;for(int j=i+1;j<=n;j++){if(fabs(a[x][i])<fabs(a[j][i])) x=j;}if(fabs(a[x][i])<step){cout<<"No Solution";return 0;}if(i!=x) swap(a[i],a[x]);double sum=a[i][i];for(int j=i;j<=n+1;j++) a[i][j]/=sum;for(int j=i+1;j<=n;j++){sum=a[j][i];for(int k=i;k<=n+1;k++) a[j][k]-=a[i][k]*sum;}}ans[n]=a[n][n+1];for(int i=n-1;i>=1;i--){ans[i]=a[i][n+1];for(int j=i+1;j<=n;j++) ans[i]-=a[i][j]*ans[j];}for(int i=1;i<=n;i++) printf("%.2lf\n",ans[i]);
}
//高斯-约旦消元法
void Gauss(int n){for(int i=1;i<=n;i++){int x=i;for(int j=i+1;j<=n;j++){if(fabs(a[j][i])>fabs(a[x][i])) x=j;}if(fabs(a[x][i])<eps){cout<<"No Solution";exit(0);}if(i!=x) swap(a[i],a[x]);double y=a[i][i];for(int j=i;j<=n+1;j++) a[i][j]/=y;for(int j=1;j<=n;j++){if(j==i) continue;y=a[j][i];for(int k=i;k<=n+1;k++) a[j][k]-=a[i][k]*y;}}for(int i=1;i<=n;i++) printf("%.2lf\n",a[i][n+1]);
}

三、求最大公约数/最小公倍数 \((gcd/lcm)\)

  • 最大公约数:辗转相除法(普通欧几里得算法)

证明: \(\gcd(a,b)=\gcd(b,a\bmod b)\) .

\(a>b\)\(x=a\bmod b\)\(x\ne 0\),则 \(a=k\times b+x\)\(a,b,k,x\) 均为正整数)。

\(y\)\(a,b\) 的一个公约数,记作 \(y\mid a\)\(y\mid b\) .

\(m=a\div y\)\(n=b\div y\),则 \(m,n\in N\) .

\(x=a-k\times b\),∴ \(x\div y=a\div y-k\times b\div y=m-k\times n\) .

\(x\div y\in N\)\(y\mid x\) .

\(y\) 也是 \(b,a \bmod b\) 的公约数,

\(a,b\)\(b,a\bmod b\) 的公约数都相等,所以其最大公约数也相等,得证。

由于任何数与 \(0\) 的最大公约数都是它本身,所以当 \(b=0\) 的时候,直接返回 \(a\) 就好了。

  • 对于 \(b\) 的最终状态一定会为 \(0\) 的证明:

因为每次都把 \(\gcd(a,b)\) 转化成 \(\gcd(b,a\bmod b)\),且 \(0\le (a\bmod b)\le b-1\),所以 \(b\) 每次都会至少变小 \(1\),所以最后 \(b\) 一定会为 \(0\) .

  • 最小公倍数

\(lcm(a,b)=a\times b\div \gcd(a,b)\) .

int gcd(int a,int b){if(b) return gcd(b,a%b);return a;
}
int lcm(int a,int b){return 1ll*a*b/gcd(a,b);
}

四、扩展欧几里得算法 \((exgcd)\)

  • 裴蜀定理

\(a,b\) 是整数,且 \(\gcd(a,b)=d\),对于任意整数 \(x,y\)\(ax+by\) 都一定是 \(d\) 的倍数,特别地,一定存在整数 \(x,y\),使 \(ax+by=\gcd(a,b)\) 成立。重要推论:\(a,b\) 互质的充要条件是存在整数 \(x,y\) 使 \(ax+by=1\) .

  • \(exgcd\) —— 可用来求 \(ax+by\equiv\gcd(a,b)\) 的解。

现在开始解这个方程。

通过辗转相除法可以知道:

\[\gcd(a,b)=\gcd(b,a\bmod b) \]

假设有另一组解 \((x_2,y_2)\) 存在:

\[b\times x_2+(a\bmod b)\times y_2\equiv a\times x+b\times y\equiv 1 \]

\[∵a\bmod b=a-\lfloor\frac{a}{b}\rfloor\times b \]

\[∴b\times x_2+(a-\lfloor\frac{a}{b}\rfloor\times b)\times y_2\equiv a\times x+b\times y \]

变个形:

\[b\times x_2+a\times y_2-\lfloor\frac{a}{b}\rfloor\times b\times y_2\equiv a\times x+b\times y \]

\[a\times y_2+b\times (x_2-\lfloor\frac{a}{b}\rfloor \times y_2)\equiv a\times x+b\times y \]

可得:

\[x=y_2,y=x_2-\lfloor\frac{a}{b}\rfloor \times y_2 \]

问题变成了如何解出 \((x_2,y_2)\)

利用方程 \(b\times x_2+(a\bmod b)\times y_2\equiv a\times x+b\times y\),就有了 \(b,a\bmod b\) 这两个系数,继续利用上述方法,找到下一组解 \((x_3,y_3)\)

在这个过程中,\((a,b)\) 会不断被替换为 \((b,a\bmod b)\),最后一定会出现 \(x_n=\gcd(a,b),y_n=0\) .

综上,我们只需要不断找到一组 \(x_i,y_i\),然后不断把 \(x,y\) 替换为 \(x=y_i\)\(y=x_i-b\times \lfloor\frac{a}{b}\rfloor\times y_i\),这样执行 \(n\) 次,最后把 \(x_n\) 赋为 \(\gcd(a,b)\)\(y_n\) 赋为 \(0\),再递归回去即可求出 \(x,y\) 了。

  • 时间复杂度:\(O(\log_2 max(a,b))\)

时间复杂度证明:

每次都把 \(\gcd(a,b)\) 替换成 \(\gcd(b,a\bmod b)\)

\(a<b\) ,相当于交换 \(a,b\) .

\(b<\frac{a}{2}\),因为余数小于除数,所以 \(a\bmod b<b<\frac{a}{2}\) ,会把 \(a\) 缩小一半。

\(b=\frac{a}{2}\),那么 \(a\bmod b=0\),结束递归。

\(b>\frac{a}{2}\),那么 \(\lfloor\frac{a}{b}\rfloor=1\)\(\gcd(b,a\bmod b)\) 变成了 \(gcd(b,a-b)\)
因为 \(b>\frac{a}{2}\),所以 \(a-b<\frac{a}{2}\),也会把 \(a\) 缩小一半。得证。

void exgcd(ll a,ll b,ll &x,ll &y){if(!b){x=1,y=0;return;}ll xx,yy;exgcd(b,a%b,xx,yy);x=yy;y=xx-a/b*yy;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安徽省建设工程造价管理网站苏州自助建站

在上一篇文章中&#xff0c;我们介绍了jQuery前端PHP在线测试题效果。这篇文章将结合实例给大家介绍如何使用jQueryPHPMySQL来实现在线测试题&#xff0c;包括动态读取题目&#xff0c;答题完毕后台评分&#xff0c;并返回答题结果。查看演示下载资源&#xff1a;1332次 下载资…

运城做网站价格百度关键词热度

目录 一、监督学习 &#xff08;一&#xff09;回归 &#xff08;二&#xff09;分类 二、无监督学习 聚类 一、监督学习 介绍&#xff1a;监督学习是指学习输入到输出&#xff08;x->y&#xff09;映射的机器学习算法&#xff0c;监督即理解为&#xff1a;已知正确答案…

临项交换

知周所众,10月2日是一个学贪心的好日子(不是 写一下学习总结吧 先写一下印象最深的最简单的(其实不然临项交换 临项交换 例题一:排队接水 知周所众,排队接水的正解是把接水时间少的人放在队伍的前面,那么这背后的…

华为设备MSTP - 指南

华为设备MSTP - 指南2025-10-02 21:11 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-f…

CF VP 记录

CF2129 B 因为是排列所以我们可以从小到大考虑每个数。对于一个数,如果不变那么贡献是前面比它大的数个数,如果改变那么贡献是后面比它大的数的个数,取最小值即可。 C 首先我们得找到一个确定的括号,这样我们才可以…

实用指南:Autudl华为昇腾系列NPU简介和部署推理yolo11 yolov8 yolov5目标检测模型

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

LabVIEW与PLC 汽车驻车制动自动调整 - 实践

LabVIEW与PLC 汽车驻车制动自动调整 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

04. 布局管理

一、什么是布局在 Qt Quick 中有两套与元素布局相关的类库,一套叫作 Item Positioner(定位器),一套叫作 Item Layout(布局)。其实在 Qt Quick 中还有一个 锚布局,它通过 Item 的 anchors 属性实现,是 Qt Quick…

关于安装博客园皮肤中有关于配置音乐播放器的补充(awescnb)

首先,关于安装博客园皮肤的教程,请看教程: https://www.yuque.com/awescnb/user 大佬的教程非常详细且通俗易懂,只要有一点点前端基础,很短时间就能安装完成 但有关于音乐播放器的配置中,获取音乐url以及lrc歌词…

AGC VP 记录 2

AGC VP 记录 为了防止上一个内容太多比较卡,故新开了一个。 AGC041~AGC060 AGC060 [AGC060A] No Majority skip。Submission #69562933 - AtCoder Grand Contest 060 [AGC060B] Unique XOR Path给定一个 \(n\times m\…

婚纱定制网站哪个好做特卖网站

第二期云开发0基础训练营热力来袭&#xff01;课程升级、更佳体验、依旧免费&#xff01;每年的 “金九银十” 都是传说中的学习黄金期&#xff01;这期间在校的小伙伴面临开学季/求职季/考研季挑战&#xff0c;已经步入社会的也即将步入年终前的冲刺阶段。所以&#xff0c;这段…

2025 --【J+S 二十连测】-- 第四套 总结

总结 T1 考场上很快想出了正解,并打出了代码,没什么问题 T2 考场上很快就打出了正解,但是由于精度问题,导致失分 T3 考场上没有想到解法,打了个部分分,但是挂0 T4 考场上打了个部分分,哪全了 题解 T1 不难发现,…

无锡市城乡和住房建设局网站wordpress ffmpeg

在手工测试阶段&#xff0c;针对项目输出了测试用例&#xff0c;如果这些测试用例需要在版本迭代的过程中&#xff0c;需要进行回归测试&#xff0c;通过手工重复地执行测试用例&#xff0c;将会耗费大量的人力。 为此应运而生就有了自动化测试&#xff0c;通过使用自动化工具…

深入解析:AI-调查研究-90-具身智能 机器人数据采集与通信中间件全面解析:ROS/ROS2、LCM 与工业总线对比

深入解析:AI-调查研究-90-具身智能 机器人数据采集与通信中间件全面解析:ROS/ROS2、LCM 与工业总线对比pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: …

函数-装饰器基础知识+推导式

装饰器:    在不改变原函数代码基础上,为原函数扩展功能装饰器格式: ##装饰器的编写(函数的嵌套,外城函数返回内城函数): def wrapper (funk):def inner (*args,**kwags):#自定义共能,根据功能在funk函数执行…

用ip访问没有备案的网站国内外知名市场调研公司

Redis&#xff0c;作为内存数据结构存储的佼佼者&#xff0c;其高性能表现一直备受赞誉。那么&#xff0c;Redis究竟是如何实现这一点的呢&#xff1f;接下来&#xff0c;我们将更深入地探讨其背后的关键技术&#xff0c;并提供进一步的优化策略。 一、内存存储与数据结构设计…

机器人产业学院 —— 教培机构 —— 职业发展 —— 全国性比赛

机器人产业学院 —— 教培机构 —— 职业发展 —— 全国性比赛本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注处,…

VUE - 实战 2

vue 项目 tailwindcss 安装 安装 命令 npm install -D tailwindcss@3 postcss autoprefixer现在 版本4.1 和vue集成有问题,所有用32 初始化配置文件: npx tailwindcss init -p3 修改 tailwind.config.js 配置: /** …

平面设计免费模板网站济南装修网

以下是百度统计的诊断&#xff0c;小弟万般无奈&#xff0c;html上的缓存以及图片处理技巧欠缺&#xff0c;希望各位大大帮帮忙支个招&#xff01; 以下元素可在不损失原信息量的前提下进行压缩&#xff1a; http://www.5atl.com/Style/main.css &#xff08;大小&#xff1a; …

QBXT2025S刷题 Day1

今天的题目 T1 \(90pts\)。 赛时树状数组写挂了。 发现没有特判第一个数是 \(0\)。 我的思路是,\(cnt[x]\) 表示对于所有的 \(h[i] \geq x\) 可以构成多少个区间。 先离散化。 对于当前 \(h[i]\),若 \(h[i - 1] <…