自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【图论基础】一文读懂SPFA算法:原理、代码、图解与负环判断

本文介绍了SPFA算法及其应用。SPFA是对Bellman-Ford算法的队列优化,通过仅处理距离被更新的顶点来提高效率。文章详细讲解了SPFA的核心原理、实现方法(包括初始化、主循环和结束条件),并提供了C++代码示例和优化技巧(如SLF和LLL)。此外,通过洛谷P3385负环检测的例题,展示了SPFA的实际应用。虽然SPFA最坏时间复杂度为O(nm),但在许多场景下表现优异,是处理带负权边最短路的有效工具。

2025-07-29 12:35:48 743

原创 【图论基础】理解图的“闭环”:Tarjan 强连通分量算法全解析

强连通分量(SCC)与Tarjan算法 摘要:本文介绍了强连通分量(SCC)的概念及其在有向图中的重要性,重点讲解了基于DFS的Tarjan算法原理。算法通过维护时间戳(dfn)和回溯值(low)来识别SCC,使用栈跟踪访问路径。文章包含完整的算法模板和详细的步骤演示,最后以洛谷P3387缩点问题为例,展示如何应用Tarjan算法解决实际问题。该算法时间复杂度为O(n+m),适用于图结构分析和环检测等场景。 关键词:强连通分量、Tarjan算法、有向图、DFS、缩点、环检测

2025-07-27 20:23:49 1070

原创 【图论基础】Bellman-Ford 算法:负权图的最短路径利器

本文介绍了Bellman-Ford算法,这是一种用于单源最短路径问题的经典算法,能够处理边权可能为负的图。与Dijkstra算法不同,Bellman-Ford通过动态规划式的松弛操作逐步更新最短路径,并具备检测负权环的能力。文章详细阐述了算法原理、松弛操作的核心思想,并通过图表演示逐步展示了算法的执行过程。同时提供了C++实现模板,分析了时间复杂度和空间复杂度。最后以洛谷P3385题为例,给出具体应用场景和解题思路,强调处理多组数据、双向边构造及负环检测的注意事项。该算法适用于有向/无向图、含负权边和稀疏图

2025-07-27 00:26:33 1006

原创 【图论基础】深入浅出 Dijkstra 算法:原理、实现与优化

贪心选点:每次都“先跑到”当前最省时的那个还没算明白的节点。松弛边:站在那里,把它通向其他点的路程再算一遍,比原来算的短就更新。不往回走:一旦把某个点确定,就不改它的距离——因为以后没法更短了。最后,希望这篇文章对你学习这个算法有所帮助,如果有任何意见,欢迎在评论区留言!

2025-05-19 23:28:15 941

原创 【构造】CF1352C:K-th Not Divisible by n 问题描述 + 分析

给定两个正整数n和k。求出第k个不能被n整除的正整数。例如,如果n3k7,那么所有不能被3124578101113在这其中的第7个数字为10。

2025-05-14 15:00:42 730

原创 【二分】CF706B:Interesting drink 问题描述 + 分析

vasiliy在工作完休息时喜欢喝一种叫“Beecola”的饮料,这种饮料可以在附近的n家商店买到,xi​为在第i家商店的"Beecola"的价格,vasiliy准备连续q天每天都喝一瓶,并且在这q天中,第i天的预算为mi​。现在,统计每天 vasiliy 可以在几家商店买到这种饮料,即满足xi​≤mi​的个数。

2025-05-14 14:32:42 758

原创 【入门向】C++ 的三大特性:封装、继承与多态

C++中的面向对象编程(OOP)依赖于三大核心特性:封装、继承和多态。封装通过隐藏内部实现细节,仅暴露公共接口,提高了代码的安全性和模块化。C++通过访问修饰符(private、protected、public)实现封装,确保数据保护和接口稳定性。继承允许子类复用父类的属性和方法,建立类之间的层次结构,支持单继承和多继承。多继承可能导致菱形继承问题,C++通过虚继承解决。继承设计应遵循“is-a”关系,避免滥用多继承。这些特性共同提升了代码的可读性、可维护性和扩展性。

2025-05-14 11:00:00 1153

原创 【笔记】MIT_线性代数 第11讲 矩阵空间及其他另类的空间

本文探讨了几种非传统的向量空间及其子空间的性质。首先,矩阵空间被视为一种向量空间,其中上三角矩阵、对称矩阵和对角矩阵构成其子空间,并讨论了它们的维数计算。通过维数定理,分析了对称矩阵空间与上三角矩阵空间的和空间的维数。其次,文章将微分方程的解集视为向量空间,并以二阶微分方程为例,展示其解空间的基与维数。最后,讨论了四维空间中满足特定条件的向量子空间的维数。这些例子展示了向量空间概念的广泛适用性及其在数学中的多样化应用。

2025-05-09 18:07:48 592

原创 【笔记】MIT_线性代数 第10讲 四种基本子空间

本讲将详细讲解矩阵A的四种基本子空间,前面已经讲过列空间和零空间,这里继续引入行空间和左零空间的概念。

2025-03-01 15:32:20 675

原创 【笔记】MIT_线性代数 第09讲 线性相关性、基、维数

先前听完这一讲觉得有些冗长,本讲的目的其实在于让大家了解这些术语的定义,以及区分开一些意义相近的术语,一开始可能会产生一些意义上的混乱,但在往后的学习中会经常提及这些术语,这里不必太纠结。

2025-02-23 19:52:01 998

原创 【笔记】MIT_线性代数 第08讲 求解Ax=b、可解性、满秩

本讲详细探讨了线性方程组$AX=b$的求解过程及其解的结构。首先,通过消元法分析矩阵$A$的线性相关性,得出方程组可解的条件,即$b$必须满足$A$行的线性组合为零时,$b$的相应组合也为零。接着,通过增广矩阵的行变换,进一步验证了可解性,并给出了求解特解$X_p$和通解$X_N$的具体步骤。特解通过将自由变量设为零求得,而通解则是特解与零空间向量的和。此外,本讲还讨论了矩阵的满秩情况,包括列满秩、行满秩和满秩方阵,分别对应方程组无解或有唯一解、必然有无穷多解以及有唯一解的情况。最后,总结了不同秩条件下$A

2025-02-21 23:52:13 865

原创 【笔记】MIT_线性代数 第07讲 求解零空间、秩、行简化

上一讲介绍了列空间和零空间,接下来我们开始讲解如何找出这些空间中的向量。

2025-02-16 16:38:21 542

原创 【笔记】MIT_线性代数 第06讲 列空间和零空间

从这一讲开始正式进入线代的核心内容,即向量空间及子空间本讲将特别关注两类子空间:列空间和零空间。

2025-02-16 14:14:54 746

原创 【笔记】MIT_线性代数 第05讲 向量空间和子空间

现在,我们知道了什么是子空间,接下来学习如何从矩阵中构造出一个子空间首先我们知道向量空间对加法和数乘是封闭的,而列的线性组合包含了加法和数乘两种运算。由此我们有定义:矩阵A的列空间(Column Space),记作ColACol AColA或CAC(A)CA,由AAA所有列的线性组合构成。对于矩阵A132141,其列属于R3。

2025-02-08 15:16:03 1045

原创 【笔记】MIT_线性代数 第04讲 矩阵A的LU分解

先前我们已经学习通过消元法求出上三角矩阵U(Upper Triangular Matrix),而接下来将引入LU分解的概念。这个方法可以让我们快速找出下三角矩阵L对于一个矩阵A,将它分解成ALUA=LUALU的形式就是LU分解。其中U为上三角矩阵,其主对角线元素均为主元;L为下三角矩阵,其主对角线均为1。LU分解的前提是矩阵A是可逆的,且不需要行交换。

2025-02-04 18:42:51 824 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除